mirror of https://github.com/swig/swig
102 lines
2.5 KiB
Makefile
102 lines
2.5 KiB
Makefile
#######################################################################
|
|
# Makefile for chicken test-suite
|
|
#######################################################################
|
|
|
|
LANGUAGE = chicken
|
|
VARIANT =
|
|
SCRIPTSUFFIX = _runme.ss
|
|
PROXYSUFFIX = _runme_proxy.ss
|
|
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
top_builddir = @top_builddir@
|
|
|
|
CHICKEN_CSI = @CHICKEN_CSI@ -quiet -batch -no-init
|
|
SO = @SO@
|
|
|
|
#C_TEST_CASES = long_long list_vector pointer_in_out multivalue
|
|
|
|
# Skip the STD cases for now, except for li_std_string.i
|
|
SKIP_CPP_STD_CASES = Yes
|
|
|
|
CPP_TEST_CASES += li_std_string
|
|
|
|
EXTRA_TEST_CASES += chicken_ext_test.externaltest
|
|
|
|
include $(srcdir)/../common.mk
|
|
|
|
# Overridden variables here
|
|
SWIGOPT += -nounit
|
|
|
|
# Custom tests - tests with additional commandline options
|
|
# If there exists a PROXYSUFFIX runme file, we also generate the wrapper
|
|
# with the -proxy argument
|
|
%.cppproxy: SWIGOPT += -proxy
|
|
%.cppproxy: SCRIPTSUFFIX = $(PROXYSUFFIX)
|
|
|
|
%.cproxy: SWIGOPT += -proxy
|
|
%.cproxy: SCRIPTSUFFIX = $(PROXYSUFFIX)
|
|
|
|
%.multiproxy: SWIGOPT += -proxy -noclosuses
|
|
%.multiproxy: SCRIPTSUFFIX = $(PROXYSUFFIX)
|
|
|
|
# Rules for the different types of tests
|
|
%.cpptest:
|
|
$(setup)
|
|
+$(swig_and_compile_cpp)
|
|
$(run_testcase)
|
|
if [ -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(PROXYSUFFIX) ]; then \
|
|
$(MAKE) $*.cppproxy; \
|
|
fi
|
|
|
|
%.ctest:
|
|
$(setup)
|
|
+$(swig_and_compile_c)
|
|
$(run_testcase)
|
|
if [ -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(PROXYSUFFIX) ]; then \
|
|
$(MAKE) $*.cproxy; \
|
|
fi
|
|
|
|
%.multicpptest:
|
|
$(setup)
|
|
+$(swig_and_compile_multi_cpp)
|
|
$(run_testcase)
|
|
if [ -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(PROXYSUFFIX) ]; then \
|
|
$(MAKE) $*.multiproxy; \
|
|
fi
|
|
|
|
%.externaltest:
|
|
$(setup)
|
|
+$(swig_and_compile_external)
|
|
$(run_testcase)
|
|
|
|
%.cppproxy:
|
|
echo "$(ACTION)ing $(LANGUAGE) testcase $* (with run test) with -proxy"
|
|
+$(swig_and_compile_cpp)
|
|
$(run_testcase)
|
|
|
|
%.cproxy:
|
|
echo "$(ACTION)ing $(LANGUAGE) testcase $* (with run test) with -proxy"
|
|
+$(swig_and_compile_c)
|
|
$(run_testcase)
|
|
|
|
%.multiproxy:
|
|
echo "$(ACTION)ing $(LANGUAGE) testcase $* (with run test) with -proxy"
|
|
+$(swig_and_compile_multi_cpp)
|
|
$(run_testcase)
|
|
|
|
# Runs the testcase. A testcase is only run if
|
|
# a file is found which has _runme.scm appended after the testcase name.
|
|
run_testcase = \
|
|
if [ -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then \
|
|
env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) $(CHICKEN_CSI) $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); \
|
|
fi
|
|
|
|
# Clean
|
|
%.clean:
|
|
@exit 0
|
|
|
|
clean:
|
|
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR='$(SRCDIR)' chicken_clean
|
|
rm -f *.scm
|