[build] Roslyn switch
[mono.git] / mcs / errors / Makefile
1 thisdir = errors
2 SUBDIRS = 
3 include ../build/rules.make
4
5 with_mono_path = MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH"
6
7 ilasm = $(topdir)/class/lib/$(PROFILE)/ilasm.exe
8 ILASM = $(with_mono_path) $(RUNTIME) $(RUNTIME_FLAGS) $(ilasm)
9
10 DISTFILES = \
11         CONTRIBUTORS_README     \
12         errors.txt              \
13         $(wildcard *.cs)        \
14         $(wildcard *.il)        \
15         $(wildcard *.inc)       \
16         $(wildcard *.pub)       \
17         $(wildcard *.snk)       \
18         $(wildcard *.response)  \
19         $(wildcard known-issues-*)      \
20         $(wildcard dlls/first/*.cs)     \
21         $(wildcard dlls/second/*.cs)
22
23 TEST_SUPPORT_FILES = \
24         CS0012-lib.dll CS0012-2-lib.dll CS0012-3-lib.dll CS0012-4-lib.dll CS0012-5-lib.dll CS0012-6-lib.dll CS0012-9-lib.dll CS0012-10-lib.dll CS0012-11-lib.dll CS0012-12-lib.dll CS0012-13-lib.dll CS0012-14-lib.dll CS0012-15-lib.dll CS0012-16-lib.dll CS0012-17-lib.dll CS0012-18-lib.dll CS0012-21-lib.dll CS0012-22-lib.dll CS0012-23-lib.dll CS0012-24-lib.dll CS0019-71-lib.dll CS0029-26-lib.dll \
25         CS0103-2-lib.dll CS0118-2-lib.dll CS0122-8-lib.dll CS0122-10-lib.dll CS0122-14-lib.dll CS0122-15-lib.dll CS0122-19-lib.dll CS0122-35-lib.dll CS0122-36-lib.dll CS0122-38-lib.dll CS0143-lib.dll CS0144-3-lib.dll CS0165-19-lib.dll CS0165-51-lib.dll \
26         CS0205-3-lib.dll CS0246-29-lib.dll CS0229-3-lib.dll CS0229-4-lib.dll CS0266-25-lib.dll \
27         CS0315-2-lib.dll \
28         CS0425-7-lib.dll CS0433-lib.dll CS0433-2-lib.dll \
29         CS0506-3-lib.dll CS0507-7-lib.dll CS0507-8-lib.dll CS0534-3-lib.dll CS0534-4-lib.dll CS0534-6-lib.dll CS0571-3-lib.dll CS0571-5-lib.dll CS0571-6-lib.dll \
30         CS0612-2-lib.dll CS0618-2-lib.dll CS0619-8-lib.dll CS0619-17-lib.dll CS0619-32-lib.dll CS0619-33-lib.dll CS0619-36-lib.dll CS0619-42-lib.dll \
31         CS0619-43-lib.dll CS1546-lib.dll CS0619-51-lib.dll CS1509-module.dll CS1681-2-lib.dll \
32         CS0730-lib.dll CS0731-1-lib.dll CS0731-2-lib.dll \
33         CS1070-lib.dll \
34         CS1540-15-lib.dll CS1540-17-lib.dll CS1542-lib.dll CS1577-lib.dll \
35         CS1683-lib.dll CS1685-2-lib.dll \
36         dlls/first/CS1701-lib.dll dlls/second/CS1701-lib.dll CS1701-lib.dll dlls/first/CS1702-lib.dll dlls/second/CS1702-lib.dll CS1702-lib.dll dlls/first/CS1705-lib.dll dlls/second/CS1705-lib.dll CS1705-lib.dll \
37         CS2015-lib.dll CS3005-16-lib.dll CS3013-module.dll CSExternAlias-lib.dll \
38         CS7069-lib.dll \
39         CS8009-lib.dll \
40         CSFriendAssembly-lib.dll \
41         dlls/first/CS1703-lib.dll dlls/first/CS1704-lib.dll \
42         dlls/second/CS1703-lib.dll dlls/second/CS1704-lib.dll
43
44 -include $(mcs_topdir)/build/config.make
45
46 # mention all targets
47 all-local $(STD_TARGETS:=-local):
48
49 VALID_PROFILE := $(filter $(DEFAULT_PROFILE), $(PROFILE))
50 ifdef VALID_PROFILE
51
52 qcheck: run-mcs-tests 
53
54 # again, run-test is when the tests actually happen, so
55 # don't compile on make test.
56
57 test-local:
58         @:
59
60 run-test-local: clean-local
61         $(MAKE) run-mcs-tests
62
63 check: run-test-local
64
65 # Required to test parser correctly
66 # -compiler-options:-v
67
68 TEST_PATTERN = 'v4'
69 TESTER_OPTIONS = -compiler-options:"-v --break-on-ice -d:NET_4_0;NET_4_5"
70
71 COMPILER = $(topdir)/class/lib/$(PROFILE)/mcs.exe
72 TESTER = MONO_RUNTIME='$(RUNTIME)' $(TEST_RUNTIME) $(RUNTIME_FLAGS) $(LOCAL_RUNTIME_FLAGS) $(topdir)/class/lib/$(PROFILE)/compiler-tester.exe
73
74 run-mcs-tests: $(TEST_SUPPORT_FILES)
75         $(TESTER) -mode:neg -files:$(TEST_PATTERN) -compiler:$(COMPILER) -issues:known-issues-$(PROFILE) -log:$(PROFILE).log $(TESTER_OPTIONS) $(TOPTIONS)
76
77 endif
78
79 clean-local:
80         rm -f *.exe *.dll *.log *.mdb dummy.xml *.junk dlls/first/*.dll dlls/second/*.dll
81
82 dist-local: dist-default
83
84 csproj-local install-local uninstall-local:
85
86 CS0029-26-lib.dll : CS0029-26-lib.cs
87         $(CSCOMPILE) /target:library /publicsign /keyfile:key.snk /out:$@ $<
88
89 CS0266-25-lib.dll: CS0266-25-lib.cs
90         $(CSCOMPILE) /target:library /r:$(topdir)/class/lib/$(PROFILE)/System.Core.dll /out:$@ $<
91
92 dlls/first/CS1701-lib.dll: dlls/first/CS1701-lib.cs
93         $(CSCOMPILE) /target:library /warn:0 /publicsign /keyfile:key.snk /out:$@ $<
94
95 dlls/first/CS1702-lib.dll: dlls/first/CS1702-lib.cs
96         $(CSCOMPILE) /target:library /warn:0 /publicsign /keyfile:key.snk /out:$@ $<
97
98 dlls/first/CS1703-lib.dll: dlls/first/CS1703-lib.cs
99         $(CSCOMPILE) /target:library /warn:0 /publicsign /keyfile:key.snk /out:$@ $<
100
101 dlls/first/CS1705-lib.dll: dlls/first/CS1705-lib.cs
102         $(CSCOMPILE) /target:library /warn:0 /publicsign /keyfile:key.snk /out:$@ $<
103
104 dlls/second/CS1701-lib.dll: dlls/second/CS1701-lib.cs
105         $(CSCOMPILE) /target:library /warn:0 /publicsign /keyfile:key.snk /out:$@ $<
106
107 dlls/second/CS1702-lib.dll: dlls/second/CS1702-lib.cs
108         $(CSCOMPILE) /target:library /warn:0 /publicsign /keyfile:key.snk /out:$@ $<
109
110 dlls/second/CS1703-lib.dll: dlls/second/CS1703-lib.cs
111         $(CSCOMPILE) /target:library /warn:0 /publicsign /keyfile:key.snk /out:$@ $<
112
113 dlls/second/CS1705-lib.dll: dlls/second/CS1705-lib.cs
114         $(CSCOMPILE) /target:library /warn:0 /publicsign /keyfile:key.snk /out:$@ $<
115
116 CS1701-lib.dll : CS1701-lib.cs
117         $(CSCOMPILE) /target:library /warn:0 /r:dlls/first/CS1701-lib.dll /out:$@ $<
118
119 CS1702-lib.dll : CS1702-lib.cs
120         $(CSCOMPILE) /target:library /warn:0 /r:dlls/first/CS1702-lib.dll /out:$@ $<
121
122 CS1705-lib.dll : CS1705-lib.cs
123         $(CSCOMPILE) /target:library /warn:0 /r:dlls/first/CS1705-lib.dll /out:$@ $<
124
125 CSFriendAssembly-lib.dll : CSFriendAssembly-lib.cs
126         $(CSCOMPILE) /target:library /publicsign /keyfile:key.snk /warn:0 /out:$@ $<
127
128 %-lib.dll: %-lib.cs
129         $(CSCOMPILE) /target:library /warn:0 /out:$@ $<
130
131 %-module.dll: %-module.cs
132         $(CSCOMPILE) /target:module /out:$@ $<
133
134 %-lib.dll: %-lib.il
135         $(ILASM) /dll /out:$@ $<