source: cheroxy/trunk/src/makefile@ 10

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

#1 add mutex class to trunk. threading module in branch will not be used.

File size: 1.4 KB
Line 
1
2#----------------------------------------------------------
3# platform
4#----------------------------------------------------------
5OS = 64
6
7ifeq ($(OS), 64)
8 PLATFORM = -m64
9else
10 PLATFORM = -m32
11endif
12
13#----------------------------------------------------------
14# env
15#----------------------------------------------------------
16FILES = \
17 CRXHttpMessage \
18 CRXHttpRequest \
19 CRXHttpResponse \
20 CRXSocket \
21 CRXMutex \
22 CRXThread \
23 main \
24
25CXX = g++
26LD = g++
27CXXDEFS =
28CXXFLAGS = $(PLATFORM) -fPIC -Wall -Wcast-align -c -g
29LDFLAGS = $(PLATFORM)
30SHARED_FLAGS = $(PLATFORM) -shared
31
32SOURCE_TYPE = cpp
33TARGET_PATH = ../_build
34OBJ_PATH = ../_obj
35TARGET = $(TARGET_PATH)/cheroxy.ex
36SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES))
37OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
38
39INCLUDES = -I../include
40LIBS = -lpthread
41
42#----------------------------------------------------------
43# label
44#----------------------------------------------------------
45all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET)
46 @echo ========== Complete CHEROXY compilation ==========
47$(TARGET_PATH): dummy
48 @if [ ! -d $@ ] ; then mkdir $@ ; fi
49$(OBJ_PATH): dummy
50 @if [ ! -d $@ ] ; then mkdir $@ ; fi
51
52# link
53$(TARGET): $(OBJS)
54 $(LD) $(LDFLAGS) -o $@ $? $(LIBS)
55
56# compile
57$(OBJ_PATH)/%.o: %.$(SOURCE_TYPE)
58 $(CXX) $(CXXFLAGS) $(CXXDEFS) $(INCLUDES) -o $@ $?
59
60clean: dummy
61 rm -rf $(TARGET_PATH) $(OBJ_PATH)
62
63dummy:
64
65test: $(TARGET)
66 $(TARGET)
67
Note: See TracBrowser for help on using the repository browser.