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

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

#1 commit prototype

File size: 2.5 KB
Line 
1#----------------------------------------------------------
2# platform
3#----------------------------------------------------------
4include ../makeinclude/userdefine.mk
5include ../makeinclude/platform.mk
6
7memcheck = no
8profiling = no
9execute = yes
10
11#----------------------------------------------------------
12# env
13#----------------------------------------------------------
14ifeq ($(LIBTYPE),shared)
15 EXT = $(EXT_SHARED)
16else
17 EXT = $(EXT_STATIC)
18endif
19
20JAVA_BIN = $(JAVA_HOME)/bin
21
22LIB_NAME = cf++
23
24INCLUDES = -I../include -I../src
25LIBRARIES = -L$(BUILD_PATH) -l$(LIB_NAME) $(LIBS)
26LIBRARY_PATH = .
27
28LIBCF = $(BUILD_PATH)/lib$(LIB_NAME).$(EXT)
29
30JAVA_LIB_PATH = -Djava.library.path=.
31CLASSPATH = -classpath $(BUILD_PATH)
32
33JAVA_OPT = -Xms10m -Xmx11m
34
35ifeq ($(OS_FAMILY),$(filter $(OS_FAMILY),hp-ux))
36 JAVA_OPT += -V2
37endif
38
39ifeq ($(OS_FAMILY),$(filter $(OS_FAMILY),hp-ux solaris linux))
40 ifeq ($(VER),64)
41 JAVA_OPT += -d64
42
43 ifeq ($(OS_FAMILY),solaris)
44 LIBRARY_PATH := $(LIBRARY_PATH):/usr/local/lib/sparcv9
45 endif
46 endif
47endif
48
49ifeq ($(memcheck),yes)
50 VALGRIND = valgrind --leak-check=full --trace-children=yes --show-reachable=yes --track-origins=yes
51endif
52
53ifeq ($(profiling),yes)
54 VALGRIND = valgrind --tool=callgrind
55 CDEFS += -D_PROFILING
56endif
57
58#----------------------------------------------------------
59# label
60#----------------------------------------------------------
61all:
62 make $(shell ls *.c *.cpp *.java | awk -F"." '{ print $$1 }')
63 @echo ========== Complete test ==========
64
65dep: $(BUILD_PATH) $(LIBCF)
66
67$(BUILD_PATH): dummy
68 @if [ ! -d $@ ] ; then mkdir $@ ; fi
69$(LIBCF): dummy
70 cd ../src; make all;
71
72%: %.c
73 make dep
74 $(CC) $(CFLAGS) $(LDFLAGS) $(CDEFS) $(INCLUDES) -o $(BUILD_PATH)/$@.$(EXT_EXECUTE) $? $(LIBRARIES)
75ifeq ($(execute),yes)
76 cd $(BUILD_PATH); $(LIBENV)=$(LIBRARY_PATH) $(VALGRIND) ./$@.$(EXT_EXECUTE)
77endif
78ifeq ($(profiling),yes)
79 kcachegrind ../_build/callgrind.out.*
80endif
81
82%: %.cpp
83 make dep
84 $(CXX) $(CFLAGS) $(LDFLAGS) $(CDEFS) $(INCLUDES) -o $(BUILD_PATH)/$@.$(EXT_EXECUTE) $? $(LIBRARIES)
85ifeq ($(execute),yes)
86 cd $(BUILD_PATH); $(LIBENV)=$(LIBRARY_PATH) $(VALGRIND) ./$@.$(EXT_EXECUTE)
87endif
88ifeq ($(profiling),yes)
89 kcachegrind ../_build/callgrind.out.*
90endif
91
92%: %.java
93 make dep
94 $(JAVA_BIN)/javac -d $(BUILD_PATH) $(CLASSPATH) $?
95ifeq ($(execute),yes)
96 cd $(BUILD_PATH); $(LIBENV)=$(LIBRARY_PATH) $(VALGRIND) $(JAVA_BIN)/java $(JAVA_OPT) $(CLASSPATH) $(JAVA_LIB_PATH) $@
97endif
98
99clean: dummy
100 rm -rf $(BUILD_PATH)/*.o
101 rm -rf *.txt
102 rm -rf $(BUILD_PATH)
103
104dummy:
Note: See TracBrowser for help on using the repository browser.