#---------------------------------------------------------- # platform #---------------------------------------------------------- OS = 64 ifeq ($(OS), 64) PLATFORM = -m64 else PLATFORM = -m32 endif #---------------------------------------------------------- # env #---------------------------------------------------------- FILES = \ CRXException \ CRXHttpMessage \ CRXHttpRequest \ CRXHttpResponse \ CRXSocket \ CRXMutex \ CRXProxy \ main \ CXX = g++ LD = g++ CXXDEFS = -D_DEBUG CXXFLAGS = $(PLATFORM) -fPIC -Wall -Wcast-align -c -g LDFLAGS = $(PLATFORM) SHARED_FLAGS = $(PLATFORM) -shared SOURCE_TYPE = cpp TARGET_PATH = ../_build OBJ_PATH = ../_obj TARGET = $(TARGET_PATH)/cheroxy.ex SRCS = $(addsuffix .$(SOURCE_TYPE),$(FILES)) OBJS = $(addprefix $(OBJ_PATH)/,$(addsuffix .o,$(FILES))) INCLUDES = -I../include LIBS = -lpthread #---------------------------------------------------------- # label #---------------------------------------------------------- all: $(OBJ_PATH) $(TARGET_PATH) $(TARGET) @echo ========== Complete CHEROXY compilation ========== $(TARGET_PATH): dummy @if [ ! -d $@ ] ; then mkdir $@ ; fi $(OBJ_PATH): dummy @if [ ! -d $@ ] ; then mkdir $@ ; fi # link $(TARGET): $(OBJS) $(LD) $(LDFLAGS) -o $@ $? $(LIBS) # compile $(OBJ_PATH)/%.o: %.$(SOURCE_TYPE) $(CXX) $(CXXFLAGS) $(CXXDEFS) $(INCLUDES) -o $@ $? clean: dummy rm -rf $(TARGET_PATH) $(OBJ_PATH) dummy: test: all $(TARGET)