source: libcf/trunk/src/makefile@ 161

Last change on this file since 161 was 161, checked in by cheese, 10 years ago

#1 separate doxygen makefile

File size: 1.6 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 cf_bitwise \
22 cf_util \
23
24TARGET_NAME = cf
25
26SOURCE_TYPE = c
27TARGET_PATH = ../_build
28OBJ_PATH = ../_obj
29TARGET = $(TARGET_PATH)/lib$(TARGET_NAME).$(EXT_SHARED)
30SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES))
31OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
32
33INCLUDES = -I../include
34DOXYGEN_PATH = ../docs
35
36#----------------------------------------------------------
37# label
38#----------------------------------------------------------
39all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET)
40 @echo ========== Complete LIBCF compilation ==========
41ifeq ($(DOXYGEN_CREATE),yes)
42 cd $(DOXYGEN_PATH); make all
43endif
44
45# path
46$(TARGET_PATH):
47 @echo make target path
48 @if [ ! -d $@ ] ; then mkdir $@ ; fi
49$(OBJ_PATH):
50 @echo make obj path
51 @if [ ! -d $@ ] ; then mkdir $@ ; fi
52
53# link
54$(TARGET_PATH)/%.$(EXT_SHARED): $(OBJS)
55 $(LD) $(SHARED_FLAGS) -o $@ $(LIBS) $?
56
57$(TARGET_PATH)/%.$(EXT_STATIC): $(OBJS)
58 $(AR) $(ARFLAGS) $@ $?
59
60# compile
61$(OBJ_PATH)/%.o: %.$(SOURCE_TYPE)
62 $(CC) $(CFLAGS) -c $(CDEFS) $(INCLUDES) -o $@ $?
63
64clean:
65 rm -rf $(TARGET_PATH) $(OBJ_PATH)
66 cd $(DOXYGEN_PATH); make clean
Note: See TracBrowser for help on using the repository browser.