source: cheroxy/trunk/src/makefile@ 28

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

#1 add filter class

File size: 1.5 KB
Line 
1#----------------------------------------------------------
2# platform
3#----------------------------------------------------------
4OS = 64
5
6ifeq ($(OS), 64)
7 PLATFORM = -m64
8else
9 PLATFORM = -m32
10endif
11
12#----------------------------------------------------------
13# env
14#----------------------------------------------------------
15FILES = \
16 CRXException \
17 CRXHttpMessage \
18 CRXHttpRequest \
19 CRXHttpResponse \
20 CRXSocket \
21 CRXMutex \
22 CRXProxy \
23 main \
24
25CXX = g++
26LD = g++
27CXXDEFS = -D_DEBUG
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: all
66 $(TARGET)
67
Note: See TracBrowser for help on using the repository browser.