source: libcf/trunk/src/makefile@ 126

Last change on this file since 126 was 126, checked in by cheese, 11 years ago

#1 separate header/source files for thread and mutex

File size: 1.8 KB
Line 
1#----------------------------------------------------------
2# platform
3#----------------------------------------------------------
4include ../makeinclude/userdefine.mk
5include ../makeinclude/platform.mk
6
7#----------------------------------------------------------
8# env
9#----------------------------------------------------------
10FILES = \
11 cf_file \
12 cf_socket \
13 cf_thread \
14 cf_mutex \
15 cf_debug \
16 cf_log \
17 cf_codec \
18 cf_list \
19 cf_queue \
20 cf_stack \
21
22TARGET_NAME = cf
23
24SOURCE_TYPE = c
25TARGET_PATH = ../_build
26OBJ_PATH = ../_obj
27TARGET = $(TARGET_PATH)/lib$(TARGET_NAME).$(EXT_SHARED)
28SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES))
29OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
30DOXYGEN_PATH = ../docs
31DOXYGEN_FILE = $(DOXYGEN_PATH)/doxyfile
32
33INCLUDES = -I../include
34
35#----------------------------------------------------------
36# label
37#----------------------------------------------------------
38all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET) doxygen
39 @echo ========== Complete LIBCF compilation ==========
40$(TARGET_PATH): dummy
41 @if [ ! -d $@ ] ; then mkdir $@ ; fi
42$(OBJ_PATH): dummy
43 @if [ ! -d $@ ] ; then mkdir $@ ; fi
44
45# link
46$(TARGET_PATH)/%.$(EXT_SHARED): $(OBJS)
47 $(LD) $(SHARED_FLAGS) -o $@ $? $(LIBS)
48
49$(TARGET_PATH)/%.$(EXT_STATIC): $(OBJS)
50 $(AR) $(ARFLAGS) -o $@ $?
51
52# compile
53$(OBJ_PATH)/%.o: %.$(SOURCE_TYPE)
54 $(CC) $(CFLAGS) $(CDEFS) $(INCLUDES) -o $@ -c $?
55
56# doxygen
57doxygen: dummy
58ifeq ($(DOXYGEN_CREATE),YES)
59ifeq ($(DOXYGEN),)
60 @echo "doxygen was not found."
61else
62 @echo "========== DOXYGEN DOCUMENTATION =========="
63 cd $(DOXYGEN_PATH); $(DOXYGEN) $(DOXYGEN_FILE); cat warning.log;
64endif
65endif
66
67clean: dummy
68 rm -rf $(TARGET_PATH) $(OBJ_PATH)
69ifeq ($(DOXYGEN_CREATE),YES)
70 rm -rf ../documentation
71endif
72
73dummy:
Note: See TracBrowser for help on using the repository browser.