2 # use make run-test PROFILE=net_2_0
7 include ..
/build
/rules.make
9 DISTFILES
= README.tests
$(wildcard dlls
/**/*.cs
)
10 DISTFILES
+= $(wildcard *.cs
) $(wildcard *.il
) $(wildcard *.xml
) $(wildcard *.inc
) $(wildcard known-issues-
*) $(wildcard *.snk
)
12 with_mono_path
= MONO_PATH
="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH"
14 ilasm
= $(topdir
)/class
/lib
/$(PROFILE
)/ilasm.exe
15 ILASM
= MONO_PATH
="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME
) $(RUNTIME_FLAGS
) $(ilasm
)
20 all-local
$(STD_TARGETS
:=-local
):
22 VALID_PROFILE
:= $(filter net_2_0 net_2_1 net_4_0
, $(PROFILE
))
25 bootstrap-cast.exe
: gen-cast-test.cs
26 $(BOOT_COMPILE
) -target
:exe
/out
:$@
$<
28 casts.cs
: bootstrap-cast.exe
29 $(with_mono_path
) $(RUNTIME
) $(RUNTIME_FLAGS
) $< >$@
31 casts-mcs.exe
: casts.cs
32 $(CSCOMPILE
) -target
:exe
/out
:$@
$<
34 casts-boot.exe
: casts.cs
35 $(BOOT_COMPILE
) -target
:exe
/out
:$@
$<
37 boot-casts.out
: casts-boot.exe
38 $(with_mono_path
) $(RUNTIME
) $(RUNTIME_FLAGS
) $< >$@
40 mcs-casts.out
: casts-mcs.exe
41 $(with_mono_path
) $(RUNTIME
) $(RUNTIME_FLAGS
) $< >$@
43 test-casts
: boot-casts.out mcs-casts.out
45 -rm -f bootstrap-cast.exe casts.cs casts-boot.exe casts-mcs.exe boot-casts.out mcs-casts.out
47 eval.exe
: eval-tests.cs
49 ifeq (net_4_0
, $(PROFILE
))
52 LOCAL_RUNTIME_FLAGS
= --verify-all
53 #TOPTIONS += '-il:ver-il-dmcs.xml'
55 ifeq (net_2_1
, $(PROFILE
))
58 LOCAL_RUNTIME_FLAGS
= --security
=temporary-smcs-hack
60 ifeq (net_2_0
, $(PROFILE
))
63 LOCAL_RUNTIME_FLAGS
= --verify-all
64 TOPTIONS
+= '-il:ver-il-gmcs.xml'
67 COMPILER
= $(topdir
)/class
/lib
/$(PROFILE
)/$(COMPILER_NAME
).exe
68 TESTER
= MONO_RUNTIME
='$(RUNTIME)' $(TEST_RUNTIME
) $(RUNTIME_FLAGS
) $(LOCAL_RUNTIME_FLAGS
) $(topdir
)/class
/lib
/$(PROFILE
)/compiler-tester.exe
70 TEST_ILS
:= $(wildcard *-lib.il
)
73 $(CSCOMPILE
) eval-test.cs
-r
:$(COMPILER
)
74 $(with_mono_path
) $(RUNTIME
) $(RUNTIME_FLAGS
) eval-test.exe
77 $(TESTER
) -mode
:pos
-files
:$(TEST_PATTERN
) -compiler
:$(COMPILER
) -issues
:known-issues-
$(COMPILER_NAME
) -log
:$(COMPILER_NAME
).log
$(TOPTIONS
)
82 run-test-local
: $(TEST_ILS
:.il
=.dll
) setup
check
84 # Temporary testing targets
87 $(TESTER
) -mode
:pos
-files
:'test-*.cs' -compiler
:gmcs.exe
-issues
:known-issues-
$(COMPILER_NAME
) -log
:$(COMPILER_NAME
).log
-verbose
91 $(TESTER
) -mode
:pos
-files
:'*test-*.cs' -compiler
:gmcs.exe
-issues
:known-issues-
$(COMPILER_NAME
) -log
:$(COMPILER_NAME
).log
-verbose
98 -rm -f
*.exe
*.dll
*.netmodule
*.out
*.pdb
*.mdb casts.cs
*.log
101 dist-local
: dist-default
102 rm -f
$(distdir
)/casts.cs
110 $(ILASM
) /dll
/out
:$@
$<
113 $(ILASM
) /dll property-il.il
114 $(CSCOMPILE
) /r
:property-il.dll property-main.cs
/out
:property-main.exe
115 $(TEST_RUNTIME
) property-main.exe
117 $(CSCOMPILE
) -t
:library dlls
/test-679-2
/test-679-lib-2.cs
118 $(CSCOMPILE
) -t
:library dlls
/test-679-1
/test-679-lib.cs
-r
:dlls
/test-679-2
/test-679-lib-2.dll