source: libcf/trunk/src/makefile@ 73

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

#1 fix makefile for multi-platform

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