source: libcf/trunk/src/makefile@ 109

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

#1 add typical data structure algorithms (linked-list / queue / stak) and rename symbol for context of each modules

File size: 1.4 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_debug \
15 cf_log \
16 cf_codec \
17 cf_list \
18 cf_queue \
19 cf_stack \
20
21TARGET_NAME = cf
22
23SOURCE_TYPE = c
24TARGET_PATH = ../_build
25OBJ_PATH = ../_obj
26TARGET = $(TARGET_PATH)/lib$(TARGET_NAME).$(EXT_SHARED)
27SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES))
28OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
29
30INCLUDES = -I../include
31
32#----------------------------------------------------------
33# label
34#----------------------------------------------------------
35all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET)
36 @echo ========== Complete LIBCF compilation ==========
37$(TARGET_PATH): dummy
38 @if [ ! -d $@ ] ; then mkdir $@ ; fi
39$(OBJ_PATH): dummy
40 @if [ ! -d $@ ] ; then mkdir $@ ; fi
41
42# link
43$(TARGET_PATH)/%.$(EXT_SHARED): $(OBJS)
44 $(LD) $(SHARED_FLAGS) -o $@ $? $(LIBS)
45
46$(TARGET_PATH)/%.$(EXT_STATIC): $(OBJS)
47 $(AR) $(ARFLAGS) -o $@ $?
48
49# compile
50$(OBJ_PATH)/%.o: %.$(SOURCE_TYPE)
51 $(CC) $(CFLAGS) $(CDEFS) $(INCLUDES) -o $@ -c $?
52
53clean: dummy
54 rm -rf $(TARGET_PATH) $(OBJ_PATH)
55
56dummy:
57
Note: See TracBrowser for help on using the repository browser.