2005-04-12 Dick Porter <dick@ximian.com>
[mono.git] / mono / tests / cas / linkdemand / Makefile
1 RUNTIME = mono --debug --security
2 PROFILE = net_1_1
3
4 compiler_defines = -d:NET_1_1
5
6 ifeq ($(PROFILE), net_2_0)
7 CSCOMPILE = gmcs --debug
8 compiler_defines += -d:NET_2_0
9 else
10 CSCOMPILE = mcs --debug
11 endif
12
13 all:    icall1.exe icall2.exe icall3.exe icall4.exe icall5.exe icall6.exe \
14         aptc1a.exe aptc1b.exe aptc2a.exe aptc2b.exe aptclib.dll \
15         pinvoke1.exe pinvoke2.exe pinvoke3.exe pinvoke4.exe \
16         cas1.exe cas2.exe cas3.exe cas6.exe cas7.exe cas8.exe cas9.exe \
17         refcas1.exe refcas2.exe refcas3.exe refcas4.exe refcas5.exe \
18         noncas1.exe noncas2.exe noncas3.exe noncas4.exe
19
20 aot:    icall1.exe.so icall2.exe.so icall3.exe.so icall4.exe.so icall5.exe.so icall6.exe.so \
21         aptc1a.exe.so aptc1b.exe.so aptc2a.exe.so aptc2b.exe.so aptclib.dll.so \
22         pinvoke1.exe.so pinvoke2.exe.so pinvoke3.exe.so pinvoke4.exe.so \
23         cas1.exe.so cas2.exe.so cas3.exe.so cas6.exe.so \
24         cas7.exe.so cas8.exe.so cas8.exe.so cas9.exe.so \
25         refcas1.exe.so refcas2.exe.so refcas3.exe.so refcas4.exe.so refcas5.exe.so \
26         noncas1.exe.so noncas2.exe.so noncas3.exe.so noncas4.exe.so
27
28 FULLTRUST_TEST_FILES = icall1 icall2 icall3 icall4 icall5 icall6 \
29         aptc1a aptc1b aptc2a aptc2b \
30         pinvoke1 pinvoke2 pinvoke4 \
31         cas1 cas3 cas6 cas7 cas8 cas9 \
32         refcas1 refcas2 refcas3 refcas4 \
33         noncas1 noncas2 noncas3 noncas4
34
35 UNHANDLED_TEST_FILES = cas2 pinvoke3 
36
37 run: all
38         @for i in $(FULLTRUST_TEST_FILES); do   \
39                 $(RUNTIME) $$i.exe;     \
40         done;
41         @for i in $(INTERNET_TEST_FILES); do    \
42                 MONO_CAS_ZONE=Internet $(RUNTIME) $$i.exe;      \
43         done;
44
45 test: all
46         @failed=0; \
47         passed=0; \
48         for i in $(FULLTRUST_TEST_FILES); do    \
49                 $(RUNTIME) $$i.exe > /dev/null; \
50                 if [ "$$?" = "0" ]; then        \
51                         echo -e "fulltrust-$$i\tpass";  \
52                         passed=`expr $${passed} + 1`; \
53                 else    \
54                         echo -e "fulltrust-$$i\tFAIL ($$?)";    \
55                         failed=`expr $${failed} + 1`; \
56                         failed_tests="$${failed_tests} fulltrust-$$i"; \
57                 fi;     \
58         done;   \
59         for i in $(UNHANDLED_TEST_FILES); do    \
60                 $(RUNTIME) $$i.exe > /dev/null; \
61                 if [ "$$?" = "0" ]; then        \
62                         echo -e "unhandled-$$i\tFAIL ($$?)";    \
63                         failed=`expr $${failed} + 1`; \
64                         failed_tests="$${failed_tests} unhandled-$$i"; \
65                 else    \
66                         echo -e "unhandled-$$i\tpass";  \
67                         passed=`expr $${passed} + 1`; \
68                 fi;     \
69         done;   \
70         echo -e "\n$${passed} test(s) passed. $${failed} test(s) failed."; \
71         if [ "$${failed}" != "0" ]; then        \
72                 echo -e "Failed tests are:";    \
73                 for i in $${failed_tests};      \
74                         do echo -e "\t$${i}";   \
75                 done;   \
76                 exit 1; \
77         fi
78
79 clean:
80         rm -f *.exe* *.dll* *.snk
81
82 aptc.snk:
83         sn -k aptc.snk
84
85 %a.exe: %.cs
86         $(CSCOMPILE) $^ /out:$@ $(compiler_defines)
87
88 %b.exe: %.cs
89         $(CSCOMPILE) $^ /out:$@ /keyfile:ecma.pub /delaysign+ $(compiler_defines)
90
91 aptc1b.exe: aptc1.cs aptc.snk
92         $(CSCOMPILE) aptc1.cs /out:$@ /keyfile:aptc.snk $(compiler_defines)
93
94 aptc2a.exe: aptc2.cs aptclib.dll
95         $(CSCOMPILE) aptc2.cs /out:$@ /r:aptclib.dll $(compiler_defines)
96
97 aptc2b.exe: aptc2.cs aptclib.dll
98         $(CSCOMPILE) aptc2.cs /out:$@ /keyfile:aptc.snk /r:aptclib.dll $(compiler_defines)
99
100 aptclib.dll: aptclib.cs aptc.snk
101         $(CSCOMPILE) aptclib.cs /out:$@ /target:library /keyfile:aptc.snk $(compiler_defines)
102
103 %.exe: %.cs
104         $(CSCOMPILE) $^ /out:$@ $(compiler_defines)
105
106 %.exe.so: %.exe
107         $(RUNTIME) --aot $^