source: cheroxy/trunk/src/makefile@ 49

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

#1 change makefile to leave test execution file

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