blob: f873b8687097aba0b1c16eea6b74712d5d6233c6 [file] [log] [blame]
#######################################################################
# Makefile for scilab test-suite
#######################################################################
LANGUAGE = scilab
SCILAB = @SCILAB@
SCILAB_OPT = @SCILABOPT@
SCRIPTSUFFIX = _runme.sci
srcdir = @srcdir@
top_srcdir = ../@top_srcdir@
top_builddir = ../@top_builddir@
C_TEST_CASES += \
scilab_consts \
scilab_identifier_name \
CPP_TEST_CASES += \
inout \
primitive_types \
scilab_li_matrix \
scilab_multivalue \
scilab_enums \
scilab_pointer_conversion_functions \
CPP_STD_TEST_CASES += \
li_std_container_typemaps \
li_std_string_extra \
include $(srcdir)/../common.mk
# Overridden variables
SRCDIR = ../$(srcdir)/
# Local variables
TEST_DIR = $*.dir
RUNME_SCRIPT = $(SCRIPTPREFIX)$*$(SCRIPTSUFFIX)
SRC_RUNME_SCRIPT = $(srcdir)/$(RUNME_SCRIPT)
# Hide too long identifier warnings
SWIGOPT += -w720
# Rules for the different types of tests
%.cpptest:
$(setup)
+(cd $(TEST_DIR) && $(swig_and_compile_cpp))
cd $(TEST_DIR) && $(run_testcase)
%.ctest:
$(setup)
+(cd $(TEST_DIR) && $(swig_and_compile_c))
cd $(TEST_DIR) && $(run_testcase)
%.multicpptest:
$(setup)
+(cd $(TEST_DIR) && $(swig_and_compile_multi_cpp))
cd $(TEST_DIR) && $(run_testcase)
# Copies files and creates directories needed for the test case
setup = \
if [ ! -d $(TEST_DIR) ]; then \
mkdir $(TEST_DIR); \
fi; \
if [ -f $(SRC_RUNME_SCRIPT) ]; then \
echo "$(ACTION)ing $(LANGUAGE) testcase $* (with run test)" ; \
if [ ! -f $(TEST_DIR) ]; then \
cp $(SRC_RUNME_SCRIPT) $(TEST_DIR); \
fi; \
if [ ! -f $(TEST_DIR)/swigtest.start ]; then \
cp $(srcdir)/swigtest.start $(TEST_DIR); \
fi; \
if [ ! -f $(TEST_DIR)/swigtest.quit ]; then \
cp $(srcdir)/swigtest.quit $(TEST_DIR); \
fi; \
else \
echo "$(ACTION)ing $(LANGUAGE) testcase $*" ; \
fi; \
# Runs the testcase. A testcase is only run if
# a file is found which has _runme.sci appended after the testcase name.
run_testcase = \
if [ -f $(RUNME_SCRIPT) ]; then ( \
env LD_LIBRARY_PATH=$(srcdir):$$LD_LIBRARY_PATH $(RUNTOOL) $(SCILAB) $(SCILAB_OPT) -f $(RUNME_SCRIPT); ) \
fi
# Clean: remove the generated files
%.clean:
@rm -rf $(TEST_DIR)
clean: