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 moonlight 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 ifeq (net_4_0
, $(PROFILE
))
50 LOCAL_RUNTIME_FLAGS
= --verify-all
51 DEFINES
= -compiler-options
:"-d:NET_4_0"
52 #TOPTIONS += '-il:ver-il-dmcs.xml'
54 ifeq (moonlight
, $(PROFILE
))
57 LOCAL_RUNTIME_FLAGS
= --security
=temporary-smcs-hack
58 DEFINES
= -compiler-options
:"-d:MOONLIGHT"
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 cd ..
/class
/Mono.CSharp
&& $(MAKE
) NO_DIR_CHECK
=yes
75 qcheck
: build-compiler-lib
76 $(TESTER
) -mode
:pos
-files
:$(TEST_PATTERN
) -compiler
:$(COMPILER
) -issues
:known-issues-
$(COMPILER_NAME
) -log
:$(COMPILER_NAME
).log
$(TOPTIONS
) $(DEFINES
)
81 run-test-local
: $(TEST_ILS
:.il
=.dll
) setup qcheck
87 -rm -f
*.exe
*.dll
*.netmodule
*.out
*.pdb
*.mdb casts.cs
*.log
90 dist-local
: dist-default
91 rm -f
$(distdir
)/casts.cs
99 $(ILASM
) /dll
/out
:$@
$<
102 $(ILASM
) /dll property-il.il
103 $(CSCOMPILE
) /r
:property-il.dll property-main.cs
/out
:property-main.exe
104 $(TEST_RUNTIME
) property-main.exe
106 $(CSCOMPILE
) -t
:library dlls
/test-679-2
/test-679-lib-2.cs
107 $(CSCOMPILE
) -t
:library dlls
/test-679-1
/test-679-lib.cs
-r
:dlls
/test-679-2
/test-679-lib-2.dll