1 | #----------------------------------------------------------
|
---|
2 | # platform
|
---|
3 | #----------------------------------------------------------
|
---|
4 | include ../makeinclude/userdefine.mk
|
---|
5 | include ../makeinclude/platform.mk
|
---|
6 |
|
---|
7 | #----------------------------------------------------------
|
---|
8 | # env
|
---|
9 | #----------------------------------------------------------
|
---|
10 | FILES = \
|
---|
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 |
|
---|
23 | TARGET_NAME = cf
|
---|
24 |
|
---|
25 | SOURCE_TYPE = c
|
---|
26 | TARGET_PATH = ../_build
|
---|
27 | OBJ_PATH = ../_obj
|
---|
28 | TARGET = $(TARGET_PATH)/lib$(TARGET_NAME).$(EXT_SHARED)
|
---|
29 | SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES))
|
---|
30 | OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
|
---|
31 | DOXYGEN_PATH = ../docs
|
---|
32 | DOXYGEN_FILE = $(DOXYGEN_PATH)/doxyfile
|
---|
33 |
|
---|
34 | INCLUDES = -I../include
|
---|
35 |
|
---|
36 | #----------------------------------------------------------
|
---|
37 | # label
|
---|
38 | #----------------------------------------------------------
|
---|
39 | all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET) doxygen
|
---|
40 | @echo ========== Complete LIBCF compilation ==========
|
---|
41 | $(TARGET_PATH): dummy
|
---|
42 | @if [ ! -d $@ ] ; then mkdir $@ ; fi
|
---|
43 | $(OBJ_PATH): dummy
|
---|
44 | @if [ ! -d $@ ] ; then mkdir $@ ; fi
|
---|
45 |
|
---|
46 | # link
|
---|
47 | $(TARGET_PATH)/%.$(EXT_SHARED): $(OBJS)
|
---|
48 | $(LD) $(SHARED_FLAGS) -o $@ $? $(LIBS)
|
---|
49 |
|
---|
50 | $(TARGET_PATH)/%.$(EXT_STATIC): $(OBJS)
|
---|
51 | $(AR) $(ARFLAGS) -o $@ $?
|
---|
52 |
|
---|
53 | # compile
|
---|
54 | $(OBJ_PATH)/%.o: %.$(SOURCE_TYPE)
|
---|
55 | $(CC) $(CFLAGS) $(CDEFS) $(INCLUDES) -o $@ -c $?
|
---|
56 |
|
---|
57 | # doxygen
|
---|
58 | doxygen: dummy
|
---|
59 | ifeq ($(DOXYGEN_CREATE),YES)
|
---|
60 | ifeq ($(DOXYGEN),)
|
---|
61 | @echo "doxygen was not found."
|
---|
62 | else
|
---|
63 | @echo "========== DOXYGEN DOCUMENTATION =========="
|
---|
64 | cd $(DOXYGEN_PATH); $(DOXYGEN) $(DOXYGEN_FILE); cat warning.log;
|
---|
65 | endif
|
---|
66 | endif
|
---|
67 |
|
---|
68 | clean: dummy
|
---|
69 | rm -rf $(TARGET_PATH) $(OBJ_PATH)
|
---|
70 | ifeq ($(DOXYGEN_CREATE),YES)
|
---|
71 | rm -rf ../documentation
|
---|
72 | endif
|
---|
73 |
|
---|
74 | dummy:
|
---|