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
RevLine 
[4]1#----------------------------------------------------------
2# platform
3#----------------------------------------------------------
[73]4include ../makeinclude/userdefine.mk
5include ../makeinclude/platform.mk
[4]6
7#----------------------------------------------------------
8# env
9#----------------------------------------------------------
10FILES = \
11 cf_file \
12 cf_socket \
13 cf_thread \
[126]14 cf_mutex \
[6]15 cf_debug \
[10]16 cf_log \
[66]17 cf_codec \
[109]18 cf_list \
19 cf_queue \
20 cf_stack \
[4]21
[14]22TARGET_NAME = cf
[4]23
24SOURCE_TYPE = c
25TARGET_PATH = ../_build
26OBJ_PATH = ../_obj
[14]27TARGET = $(TARGET_PATH)/lib$(TARGET_NAME).$(EXT_SHARED)
[4]28SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES))
29OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
[119]30DOXYGEN_PATH = ../docs
31DOXYGEN_FILE = $(DOXYGEN_PATH)/doxyfile
[4]32
33INCLUDES = -I../include
34
35#----------------------------------------------------------
36# label
37#----------------------------------------------------------
[119]38all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET) doxygen
[74]39 @echo ========== Complete LIBCF compilation ==========
[4]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)
[74]47 $(LD) $(SHARED_FLAGS) -o $@ $? $(LIBS)
[4]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
[119]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
[4]67clean: dummy
68 rm -rf $(TARGET_PATH) $(OBJ_PATH)
[119]69ifeq ($(DOXYGEN_CREATE),YES)
70 rm -rf ../documentation
71endif
[4]72
73dummy:
Note: See TracBrowser for help on using the repository browser.