| ####################################################################### |
| # Makefile for guile test-suite |
| ####################################################################### |
| |
| LANGUAGE = guile |
| VARIANT = _gh |
| SCRIPTSUFFIX = _runme.scm |
| srcdir = @srcdir@ |
| top_srcdir = @top_srcdir@ |
| top_builddir = @top_builddir@ |
| GUILE = @GUILE@ |
| |
| C_TEST_CASES = long_long list_vector pointer_in_out multivalue |
| |
| include $(srcdir)/../common.mk |
| |
| # Overridden variables here |
| # none! |
| |
| # Rules for the different types of tests |
| %.cpptest: |
| $(setup) |
| +$(swig_and_compile_cpp) |
| $(run_testcase) |
| |
| %.ctest: |
| $(setup) |
| +$(swig_and_compile_c) |
| $(run_testcase) |
| |
| # override the default in common.mk by adding SWIGOPT += |
| swig_and_compile_multi_cpp = \ |
| for f in `cat $(top_srcdir)/$(EXAMPLES)/$(TEST_SUITE)/$*.list` ; do \ |
| SWIGOPT=" -runtime "; \ |
| export SWIGOPT; \ |
| $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile CXXSRCS="$(CXXSRCS)" \ |
| SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" LIBS='$(LIBS)' \ |
| INCLUDES="$(INCLUDES)" SWIGOPT="$(SWIGOPT) $$SWIGOPT" NOLINK=true \ |
| TARGET="$(TARGETPREFIX)$${f}$(TARGETSUFFIX)" INTERFACEDIR="$(INTERFACEDIR)" INTERFACE="$$f.i" \ |
| $(LANGUAGE)$(VARIANT)_cpp; \ |
| SWIGOPT=" -noruntime "; \ |
| done |
| |
| %.multicpptest: |
| $(setup) |
| +$(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 $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then ( \ |
| env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) $(GUILE) -l $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX);) \ |
| fi; |
| |
| # Clean |
| %.clean: |
| @rm -f $*-guile |
| |
| clean: |
| $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile guile_clean |