#---------------------------------------------------------- # platform #---------------------------------------------------------- include ../makeinclude/userdefine.mk include ../makeinclude/platform.mk memcheck = no profiling = no execute = yes #---------------------------------------------------------- # env #---------------------------------------------------------- ifeq ($(LIBTYPE),shared) EXT = $(EXT_SHARED) else EXT = $(EXT_STATIC) endif JAVA_BIN = $(JAVA_HOME)/bin LIB_NAME = cf++ INCLUDES = -I../include -I../src LIBRARIES = -L$(BUILD_PATH) -l$(LIB_NAME) $(LIBS) LIBRARY_PATH = . LIBCF = $(BUILD_PATH)/lib$(LIB_NAME).$(EXT) JAVA_LIB_PATH = -Djava.library.path=. CLASSPATH = -classpath $(BUILD_PATH) JAVA_OPT = -Xms10m -Xmx11m ifeq ($(OS_FAMILY),$(filter $(OS_FAMILY),hp-ux)) JAVA_OPT += -V2 endif ifeq ($(OS_FAMILY),$(filter $(OS_FAMILY),hp-ux solaris linux)) ifeq ($(VER),64) JAVA_OPT += -d64 ifeq ($(OS_FAMILY),solaris) LIBRARY_PATH := $(LIBRARY_PATH):/usr/local/lib/sparcv9 endif endif endif ifeq ($(memcheck),yes) VALGRIND = valgrind --leak-check=full --trace-children=yes --show-reachable=yes --track-origins=yes endif ifeq ($(profiling),yes) VALGRIND = valgrind --tool=callgrind CDEFS += -D_PROFILING endif #---------------------------------------------------------- # label #---------------------------------------------------------- all: make $(shell ls *.c *.cpp *.java | awk -F"." '{ print $$1 }') @echo ========== Complete test ========== dep: $(BUILD_PATH) $(LIBCF) $(BUILD_PATH): dummy @if [ ! -d $@ ] ; then mkdir $@ ; fi $(LIBCF): dummy cd ../src; make all; %: %.c make dep $(CC) $(CFLAGS) $(LDFLAGS) $(CDEFS) $(INCLUDES) -o $(BUILD_PATH)/$@.$(EXT_EXECUTE) $? $(LIBRARIES) ifeq ($(execute),yes) cd $(BUILD_PATH); $(LIBENV)=$(LIBRARY_PATH) $(VALGRIND) ./$@.$(EXT_EXECUTE) endif ifeq ($(profiling),yes) kcachegrind ../_build/callgrind.out.* endif %: %.cpp make dep $(CXX) $(CFLAGS) $(LDFLAGS) $(CDEFS) $(INCLUDES) -o $(BUILD_PATH)/$@.$(EXT_EXECUTE) $? $(LIBRARIES) ifeq ($(execute),yes) cd $(BUILD_PATH); $(LIBENV)=$(LIBRARY_PATH) $(VALGRIND) ./$@.$(EXT_EXECUTE) endif ifeq ($(profiling),yes) kcachegrind ../_build/callgrind.out.* endif %: %.java make dep $(JAVA_BIN)/javac -d $(BUILD_PATH) $(CLASSPATH) $? ifeq ($(execute),yes) cd $(BUILD_PATH); $(LIBENV)=$(LIBRARY_PATH) $(VALGRIND) $(JAVA_BIN)/java $(JAVA_OPT) $(CLASSPATH) $(JAVA_LIB_PATH) $@ endif clean: dummy rm -rf $(BUILD_PATH)/*.o rm -rf *.txt rm -rf $(BUILD_PATH) dummy: