swig/Examples/test-suite/csharp/Makefile.in
William S Fulton 5d0b27c7a6 test asymmetric type marshalling - out attribute for ctype, imtype and cstype typemaps.
also test fix for garbage collection problem where the proxy class was being collected before an unmanaged function that used the object returned - problem was most visible in multithreaded environment, so the test kicks off a few threads


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7173 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-04-28 22:03:50 +00:00

77 lines
2.2 KiB
Makefile

#######################################################################
# $Header$
# Makefile for C# test-suite
#######################################################################
LANGUAGE = csharp
SCRIPTSUFFIX = _runme.cs
INTERPRETER = @CSHARPCILINTERPRETER@
CSHARPPATHSEPARATOR = "@CSHARPPATHSEPARATOR@"
CSHARPCYGPATH_W = @CSHARPCYGPATH_W@
srcdir = @srcdir@
top_srcdir = @top_srcdir@/..
top_builddir = @top_builddir@../
CPP_TEST_CASES = \
csharp_exceptions \
csharp_typemaps \
enum_thorough_simple \
enum_thorough_typesafe
include $(srcdir)/../common.mk
# Overridden variables here
SWIGOPT += -namespace $*Namespace
# Rules for the different types of tests
%.cpptest:
$(setup) \
(cd $* && $(swig_and_compile_cpp); ) && \
$(run_testcase)
%.ctest:
$(setup) \
(cd $* && $(swig_and_compile_c); ) && \
$(run_testcase)
%.multicpptest:
$(setup) \
(cd $* && $(swig_and_compile_multi_cpp); ) && \
$(run_testcase)
# Makes a directory for the testcase if it does not exist
setup = \
if [ -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then \
echo "Checking testcase $* (with run test) under $(LANGUAGE)" ; \
else \
echo "Checking testcase $* under $(LANGUAGE)" ; \
fi; \
if [ ! -d $* ]; then \
mkdir $*; \
fi;
# Compiles C# files then runs the testcase. A testcase is only run if
# a file is found which has _runme.cs appended after the testcase name.
# Note C# uses LD_LIBRARY_PATH under Unix, PATH under Cygwin/Windows and SHLIB_PATH on HPUX.
run_testcase = \
if [ -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then ( \
$(MAKE) -f $*/$(top_builddir)/$(EXAMPLES)/Makefile \
CSHARPFLAGS='-nologo -out:$*_runme.exe' \
CSHARPSRCS='`$(CSHARPCYGPATH_W) $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX)` \
$*$(CSHARPPATHSEPARATOR)*.cs' csharp_compile && \
env LD_LIBRARY_PATH="$*:$$LD_LIBRARY_PATH" PATH="$*:$$PATH" SHLIB_PATH="$*:$$SHLIB_PATH" $(INTERPRETER) $*_runme.exe; ) \
else ( \
cd $* && \
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile \
CSHARPFLAGS='-nologo -t:module -out:$*.netmodule' \
CSHARPSRCS='*.cs' csharp_compile; ); \
fi;
# Clean: remove testcase directories
%.clean:
@if [ -d $* ]; then \
rm -rf $*; \
fi;
clean:
@rm -f *.exe