# # Copyright (c) 2008 João Abecasis # # Distributed under the Boost Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) # ifndef SAGA_MK_INC_TEST SAGA_MK_INC_TEST = yes -include $(SAGA_ROOT)/make/saga.util.mk -include $(SAGA_LOCATION)/share/saga/make/saga.util.mk ifndef SAGA_MK_INC_UTIL $(error Could not find the SAGA make system) endif SAGA_TEST_OBJ += $(SAGA_TEST_SRC:%.cpp=%.o) SAGA_TEST_BIN += $(SAGA_TEST_SRC:%.cpp=%) SAGA_TEST_OK += $(SAGA_TEST_BIN:%=%.ok) SAGA_TEST_OUT = $(SAGA_TEST_OK:%.ok=%.out) SAGA_TEST_ERR = $(SAGA_TEST_OK:%.ok=%.err) ifdef SAGA_IS_CHECKING SAGA_OBJ += $(SAGA_TEST_OBJ) SAGA_OBJ += $(SAGA_ADD_TEST_BIN_OBJ) $(SAGA_ADD_TEST_BIN_OBJC) SAGA_BIN += $(SAGA_TEST_BIN) endif ifdef SAGA_IS_CLEANING SAGA_CLEAN_TGT += $(SAGA_TEST_OBJ) SAGA_CLEAN_TGT += $(SAGA_TEST_BIN) SAGA_CLEAN_TGT += $(SAGA_TEST_OK) SAGA_CLEAN_TGT += $(SAGA_TEST_OUT) SAGA_CLEAN_TGT += $(SAGA_TEST_ERR) SAGA_CLEAN_TGT += $(SAGA_ROOT)/.saga_check_failed endif ifdef SAGA_IS_CLEANING SAGA_CHECKCLEAN_TGT += $(SAGA_TEST_OK) SAGA_CHECKCLEAN_TGT += $(SAGA_TEST_OUT) SAGA_CHECKCLEAN_TGT += $(SAGA_TEST_ERR) endif ifdef SAGA_ROOT include $(SAGA_ROOT)/make/saga.application.mk else include $(SAGA_LOCATION)/share/saga/make/saga.application.mk endif # We need to run things directly from the source tree ifeq "$(SAGA_OSTYPE)" "SAGA_APPLE" SAGA_LD_LIBRARY_PATH = $(DYLD_LIBRARY_PATH) else SAGA_LD_LIBRARY_PATH = $(LD_LIBRARY_PATH) endif SAGA_LD_LIBRARY_PATH += :$(SAGA_BOOST_LOCATION)/lib SAGA_LD_LIBRARY_PATH += :$(SAGA_ROOT)/saga/impl/engine PACKAGE_DIRS_TMP = $(wildcard $(SAGA_ROOT)/saga/impl/packages/*) PACKAGE_DIRS = $(filter-out $(SAGA_ROOT)/saga/impl/packages/Makefile,$(PACKAGE_DIRS_TMP)) SAGA_LD_LIBRARY_PATH += $(foreach PACKAGE_DIR,$(PACKAGE_DIRS),:$(PACKAGE_DIR)) ifneq "x$(SAGA_BOOST_HAVE_SYSTEM)" "xyes" SAGA_LD_LIBRARY_PATH += :$(SAGA_ROOT)/external/boost/system/libs/system/src endif -include $(SAGA_MAKE_INCLUDE_ROOT)/saga.test.env.mk SAGA_ENVIRON += SAGA_LOCATION=$(SAGA_LOCATION) ifeq "$(SAGA_OSTYPE)" "SAGA_APPLE" SAGA_ENVIRON += DYLD_LIBRARY_PATH=$(subst $(SAGA_SPACE):,:,$(SAGA_LD_LIBRARY_PATH)) else SAGA_ENVIRON += LD_LIBRARY_PATH=$(subst $(SAGA_SPACE):,:,$(SAGA_LD_LIBRARY_PATH)) endif .PHONY: check check:: subdirs $(SAGA_TEST_OK) RUN = $(ENV) SAGA_ROOT=$(SAGA_ROOT) $(SAGA_ROOT)/tools/scripts/saga-run-test.sh # alow to skip previously successful tests ifdef SAGA_TEST_CACHE_SUCCESS RUN += -c endif .PHONY: $(SAGA_TEST_OK) $(SAGA_TEST_OK):: subdirs $(SAGA_TEST_OK):: %.ok : % @$(RUN) -e "$(SAGA_ENVIRON)" ./$< $(SAGA_TEST_ARGS) ifdef SAGA_TEST_FAIL_ON_ERROR @$(TEST) -e $@ || $(FALSE) endif .PHONY: checkclean checkclean:: subdirs @$(RM) $(SAGA_CHECKCLEAN_TGT) endif # guard