| ####################################################################### |
| # Makefile for matlab test-suite |
| ####################################################################### |
| |
| LANGUAGE = matlab |
| MATLAB = @MATLAB@ |
| MATLAB_OPTS = @MATLAB_OPTS@ |
| MATLAB_EXEC = @MATLAB_EXEC@ |
| SCRIPTSUFFIX = _runme |
| |
| srcdir = @srcdir@ |
| top_srcdir = @top_srcdir@ |
| top_builddir = @top_builddir@ |
| |
| CPP_TEST_BROKEN += \ |
| arrays_global |
| |
| include $(srcdir)/../common.mk |
| |
| # Custom tests - tests with additional commandline options |
| # none! |
| |
| # Rules for the different types of tests |
| %.cpptest: |
| $(setup) |
| +$(swig_and_compile_cpp) |
| $(run_testcase) |
| |
| %.ctest: |
| $(setup) |
| +$(swig_and_compile_c) |
| $(run_testcase) |
| |
| %.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.m appended after the testcase name. |
| run_testcase = \ |
| if [ -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX).m ]; then \ |
| RUNSCRIPT="\ |
| try; \ |
| $(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); \ |
| catch err; \ |
| fprintf(1, ['ERROR: ' err.message '\\\n']); \ |
| fprintf(2, ['ERROR: ' err.message '\\\n']); \ |
| exit(1); \ |
| end; \ |
| exit(0)" ; \ |
| env LD_LIBRARY_PATH=".:$$LD_LIBRARY_PATH" MATLABPATH="$(srcdir):$(SCRIPTDIR):$$MATLAB_PATH" \ |
| $(RUNTOOL) "$(MATLAB)" $(MATLAB_OPTS) $(MATLAB_EXEC) "$$RUNSCRIPT" $(RUNPIPE); \ |
| if [ $$? -ne 0 ] ; then \ |
| echo " $* failed" $(RUNPIPE) ; \ |
| else \ |
| echo " $* passed" $(RUNPIPE) ; \ |
| fi \ |
| else \ |
| echo " $* build passed (no runme test present)" $(RUNPIPE) ; \ |
| fi |
| |
| # Clean: remove the generated .m file |
| %.clean: |
| @rm -rf $*.m +$*; |
| |
| clean: |
| $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR="$(SRCDIR)" matlab_clean |