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