1 #######################################################################
2 # Makefile for C# test-suite
3 #######################################################################
6 SCRIPTSUFFIX = _runme.cs
7 INTERPRETER = @CSHARPCILINTERPRETER@
8 CSHARPPATHSEPARATOR = "@CSHARPPATHSEPARATOR@"
9 CSHARPCYGPATH_W = @CSHARPCYGPATH_W@
11 top_srcdir = @top_srcdir@/..
12 top_builddir = @top_builddir@/..
21 enum_thorough_simple \
22 enum_thorough_typesafe \
23 exception_partial_info \
24 intermediary_classname
26 include $(srcdir)/../common.mk
28 # Overridden variables here
29 SWIGOPT += -namespace $*Namespace
34 # Custom tests - tests with additional commandline options
35 intermediary_classname.cpptest: SWIGOPT += -dllimport intermediary_classname
36 csharp_lib_arrays.cpptest: CSHARPFLAGSSPECIAL = -unsafe
38 # Rules for the different types of tests
41 +(cd $* && $(swig_and_compile_cpp))
46 +(cd $* && $(swig_and_compile_c))
51 +(cd $* && $(swig_and_compile_multi_cpp))
54 # Makes a directory for the testcase if it does not exist
56 if [ -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then \
57 echo "$(ACTION)ing testcase $* (with run test) under $(LANGUAGE)" ; \
59 echo "$(ACTION)ing testcase $* under $(LANGUAGE)" ; \
61 if [ ! -d $* ]; then \
65 # Compiles C# files then runs the testcase. A testcase is only run if
66 # a file is found which has _runme.cs appended after the testcase name.
67 # Note C# uses LD_LIBRARY_PATH under Unix, PATH under Cygwin/Windows and SHLIB_PATH on HPUX.
69 if [ -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then \
70 $(MAKE) -f $*/$(top_builddir)/$(EXAMPLES)/Makefile \
71 CSHARPFLAGS='-nologo $(CSHARPFLAGSSPECIAL) -out:$*_runme.exe' \
72 CSHARPSRCS='`$(CSHARPCYGPATH_W) $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX)` \
73 $*$(CSHARPPATHSEPARATOR)*.cs' csharp_compile && \
74 env LD_LIBRARY_PATH="$*:$$LD_LIBRARY_PATH" PATH="$*:$$PATH" SHLIB_PATH="$*:$$SHLIB_PATH" $(RUNTOOL) $(INTERPRETER) $*_runme.exe; \
77 $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile \
78 CSHARPFLAGS='-nologo $(CSHARPFLAGSSPECIAL) -t:module -out:$*.netmodule' \
79 CSHARPSRCS='*.cs' csharp_compile && cd .. ; \
82 # Clean: remove testcase directories
89 @rm -f *.exe *.exe.mdb