mirror of https://github.com/swig/swig
97 lines
2.4 KiB
Makefile
97 lines
2.4 KiB
Makefile
#######################################################################
|
||
# Makefile for scilab test-suite
|
||
#######################################################################
|
||
|
||
LANGUAGE = scilab
|
||
SCILAB = @SCILAB@
|
||
SCILAB_OPT = @SCILABOPT@
|
||
SCRIPTSUFFIX = _runme.sci
|
||
|
||
HAVE_CXX11 = @HAVE_CXX11@
|
||
HAVE_CXX14 = @HAVE_CXX14@
|
||
HAVE_CXX17 = @HAVE_CXX17@
|
||
HAVE_CXX20 = @HAVE_CXX20@
|
||
srcdir = @srcdir@
|
||
top_srcdir = ../@top_srcdir@
|
||
top_builddir = ../@top_builddir@
|
||
|
||
C_TEST_CASES += \
|
||
scilab_consts \
|
||
scilab_identifier_name \
|
||
|
||
CPP_TEST_CASES += \
|
||
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)/
|
||
|
||
# Ensure testsuite remains free from SWIG warnings.
|
||
SWIGOPT += -Werror
|
||
|
||
# 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_PROGRESS) "$(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_PROGRESS) "$(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:
|