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 ifeq (net_1_1
, $(PROFILE
))
15 # force this, we don't case if CSC is broken. This also
16 # means we can use --options, yay.
17 MCS
= $(with_mono_path
) $(INTERNAL_MCS
)
19 ilasm
= $(topdir
)/class
/lib
/net_1_1_bootstrap
/ilasm.exe
20 ILASM
= MONO_PATH
="$(topdir)/class/lib/net_1_1_bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME
) $(RUNTIME_FLAGS
) $(ilasm
)
22 ifeq (net_2_0
, $(PROFILE
))
23 BOOTSTRAP_MCS
= MONO_PATH
="$(topdir)/class/lib/net_2_0_bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME
) $(RUNTIME_FLAGS
) $(topdir
)/class
/lib
/net_2_0_bootstrap
/mcs.exe
29 all-local
$(STD_TARGETS
:=-local
):
31 VALID_PROFILE
:= $(filter net_1_1 net_2_0 net_2_1
, $(PROFILE
))
34 bootstrap-cast.exe
: gen-cast-test.cs
35 $(BOOT_COMPILE
) -target
:exe
/out
:$@
$<
37 casts.cs
: bootstrap-cast.exe
38 $(with_mono_path
) $(RUNTIME
) $(RUNTIME_FLAGS
) $< >$@
40 casts-mcs.exe
: casts.cs
41 $(CSCOMPILE
) -target
:exe
/out
:$@
$<
43 casts-boot.exe
: casts.cs
44 $(BOOT_COMPILE
) -target
:exe
/out
:$@
$<
46 boot-casts.out
: casts-boot.exe
47 $(with_mono_path
) $(RUNTIME
) $(RUNTIME_FLAGS
) $< >$@
49 mcs-casts.out
: casts-mcs.exe
50 $(with_mono_path
) $(RUNTIME
) $(RUNTIME_FLAGS
) $< >$@
52 test-casts
: boot-casts.out mcs-casts.out
55 test-local
: casts-boot.exe
57 eval.exe
: eval-tests.cs
59 ifeq (net_2_1
, $(PROFILE
))
61 TEST_PATTERN
= '*test-*.cs'
62 LOCAL_RUNTIME_FLAGS
= --security
=temporary-smcs-hack
64 ifeq (net_2_0
, $(PROFILE
))
66 TEST_PATTERN
= '*test-*.cs'
67 LOCAL_RUNTIME_FLAGS
= --verify-all
68 TOPTIONS
+= '-il:ver-il-gmcs.xml'
70 ifeq (net_1_1
, $(PROFILE
))
72 TEST_PATTERN
= 'test-*.cs'
73 LOCAL_RUNTIME_FLAGS
= --verify-all
76 COMPILER
= $(topdir
)/class
/lib
/$(PROFILE
)/$(COMPILER_NAME
).exe
77 TESTER
= MONO_RUNTIME
='$(RUNTIME)' $(TEST_RUNTIME
) $(RUNTIME_FLAGS
) $(LOCAL_RUNTIME_FLAGS
) $(topdir
)/class
/lib
/$(PROFILE
)/compiler-tester.exe
79 TEST_ILS
:= $(wildcard *-lib.il
)
81 ifeq (net_2_0
, $(PROFILE
))
83 $(CSCOMPILE
) eval-test.cs
-r
:$(COMPILER
)
84 $(with_mono_path
) $(RUNTIME
) $(RUNTIME_FLAGS
) eval-test.exe
91 run-test-local
: $(TEST_ILS
:.il
=.dll
) eval-test
92 $(TESTER
) -mode
:pos
-files
:$(TEST_PATTERN
) -compiler
:$(COMPILER
) -issues
:known-issues-
$(COMPILER_NAME
) -log
:$(COMPILER_NAME
).log
$(TOPTIONS
)
95 $(MAKE
) PROFILE
=net_1_1 run-test
96 $(MAKE
) PROFILE
=net_2_0 run-test
99 $(MAKE
) PROFILE
=net_2_0 run-test
103 -rm -f
*.exe
*.dll
*.netmodule
*.out
*.pdb
*.mdb casts.cs
*.log
106 dist-local
: dist-default
107 rm -f
$(distdir
)/casts.cs
113 $(ILASM
) /dll
/out
:$@
$<
115 ifeq (net_1_1
, $(PROFILE
))
116 run-test-local
: ilasm
118 $(ILASM
) /dll property-il.il
119 $(CSCOMPILE
) /r
:property-il.dll property-main.cs
/out
:property-main.exe
120 $(TEST_RUNTIME
) property-main.exe
122 $(CSCOMPILE
) -t
:library dlls
/test-679-2
/test-679-lib-2.cs
123 $(CSCOMPILE
) -t
:library dlls
/test-679-1
/test-679-lib.cs
-r
:dlls
/test-679-2
/test-679-lib-2.dll