source: libcf++/trunk/src/makefile@ 4

Last change on this file since 4 was 4, checked in by cheese, 9 years ago

#1 commit prototype

File size: 1.7 KB
Line 
1#----------------------------------------------------------
2# platform
3#----------------------------------------------------------
4include ../makeinclude/userdefine.mk
5include ../makeinclude/platform.mk
6
7#----------------------------------------------------------
8# env
9#----------------------------------------------------------
10TARGET_NAME = cf++
11TARGET_SHARED = $(BUILD_PATH)/lib$(TARGET_NAME).$(EXT_SHARED)
12TARGET_STATIC = $(BUILD_PATH)/lib$(TARGET_NAME).$(EXT_STATIC)
13
14ifeq ($(LIBTYPE),shared)
15 TARGET = $(TARGET_SHARED)
16else
17 TARGET = $(TARGET_STATIC)
18endif
19
20INCLUDES = -I../include -I.
21LIBRARIES = $(LIBS)
22
23# object files
24SRCS = $(shell find . -name "*.cpp")
25OBJS = $(addprefix $(BUILD_PATH)/, \
26 $(addsuffix .o, \
27 $(shell find . -name "*.cpp" | \
28 awk -F"/" '{print $$NF}' | \
29 sed 's/\.cpp//')))
30
31ifeq ($(WITH_JNI),yes)
32 JAVA_INCLUDES = -I../jni -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/$(OS_FAMILY)
33 CFLAGS += -D_USE_JNI
34endif
35
36ifeq ($(OS_FAMILY),aix)
37 AIX_EXPORT = -bE:_export.list
38endif
39
40#----------------------------------------------------------
41# label
42#----------------------------------------------------------
43#.PRECIOUS: $(OBJS)
44
45all: $(BUILD_PATH) $(TARGET)
46 @echo --------------- Complete ---------------
47# ldd $(TARGET) || echo cannot ldd;
48# stat $(TARGET) || echo cannot stat;
49
50# mkdir
51$(BUILD_PATH):
52 @if [ ! -d $@ ] ; then mkdir $@ ; fi
53
54# compile
55$(BUILD_PATH)/%.o: %.cpp
56 $(CXX) $(CFLAGS) $(CDEFS) $(INCLUDES) $(JAVA_INCLUDES) -c -o $@ $<
57
58# link
59$(TARGET_SHARED): $(OBJS)
60 $(LD) $(SHARED_LDFLAGS) $(AIX_EXPORT) -o $@ $? $(LIBRARIES)
61
62$(TARGET_STATIC): $(OBJS)
63 $(AR) $(ARFLAGS) $@ $?
64
65# clean
66clean: dummy
67 rm -rf $(TARGET) $(OBJS)
68
69dummy:
70
Note: See TracBrowser for help on using the repository browser.