source: cheroxy/trunk/src/makefile@ 29

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

#1 fix bug on linux for r28

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 CRXFilter \
23 CRXProxy \
24 main \
25
26CXX = g++
27LD = g++
28CXXDEFS = -D_DEBUG
29CXXFLAGS = $(PLATFORM) -fPIC -Wall -Wcast-align -c -g
30LDFLAGS = $(PLATFORM)
31SHARED_FLAGS = $(PLATFORM) -shared
32
33SOURCE_TYPE = cpp
34TARGET_PATH = ../_build
35OBJ_PATH = ../_obj
36TARGET = $(TARGET_PATH)/cheroxy.ex
37SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES))
38OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES)))
39
40INCLUDES = -I../include
41LIBS = -lpthread
42
43#----------------------------------------------------------
44# label
45#----------------------------------------------------------
46all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET)
47 @echo ========== Complete CHEROXY compilation ==========
48$(TARGET_PATH): dummy
49 @if [ ! -d $@ ] ; then mkdir $@ ; fi
50$(OBJ_PATH): dummy
51 @if [ ! -d $@ ] ; then mkdir $@ ; fi
52
53# link
54$(TARGET): $(OBJS)
55 $(LD) $(LDFLAGS) -o $@ $? $(LIBS)
56
57# compile
58$(OBJ_PATH)/%.o: %.$(SOURCE_TYPE)
59 $(CXX) $(CXXFLAGS) $(CXXDEFS) $(INCLUDES) -o $@ $?
60
61clean: dummy
62 rm -rf $(TARGET_PATH) $(OBJ_PATH)
63
64dummy:
65
66test: all
67 $(TARGET)
68
Note: See TracBrowser for help on using the repository browser.