Add new test
[mono.git] / mcs / mcs / makefile
1 CSC=csc.exe
2 CSCFLAGS=/nologo /debug+ /debug:full  /optimize /unsafe
3
4 VERSION=0.13
5
6 COMMON_SOURCES = cs-parser.cs cs-tokenizer.cs tree.cs location.cs
7
8 COMPILER_SOURCES = \
9         assign.cs                       \
10         driver.cs $(COMMON_SOURCES)     \
11         class.cs                        \
12         delegate.cs                     \
13         attribute.cs                    \
14         codegen.cs                      \
15         const.cs                        \
16         constant.cs                     \
17         decl.cs                         \
18         enum.cs                         \
19         ecore.cs                        \
20         expression.cs                   \
21         genericparser.cs                \
22         interface.cs                    \
23         literal.cs                      \
24         modifiers.cs                    \
25         namespace.cs                    \
26         parameter.cs                    \
27         report.cs                       \
28         rootcontext.cs                  \
29         statement.cs                    \
30         statementCollection.cs          \
31         support.cs                      \
32         typemanager.cs
33
34 TEST_TOKENIZER_SOURCES = test-token.cs $(COMMON_SOURCES)
35
36 all: mcs.exe
37
38 mcs.exe: cs-parser.cs $(COMPILER_SOURCES)
39         $(CSC) $(CSCFLAGS) /target:exe /r:System.dll /out:mcs.exe $(COMPILER_SOURCES)
40
41 res:
42         echo --target exe -o mcs2.exe $(COMPILER_SOURCES) > response
43
44 dum: cs-parser.cs
45         ./mcs --fatal --target exe -o mcs2.exe $(COMPILER_SOURCES)
46
47 mcs2.exe: mcs.exe
48         ./mcs --target exe --unsafe -o mcs2.exe $(COMPILER_SOURCES)
49
50 mcs3.exe: mcs2.exe
51         ./mcs2 --target exe --unsafe -o mcs3.exe $(COMPILER_SOURCES)
52
53 mm:
54         mint ./mcs.exe --target exe -o mcs4.exe $(COMPILER_SOURCES)
55
56 test: mcs3.exe
57         ls -l mcs2.exe mcs3.exe
58
59 docs: cs-parser.cs
60         $(CSC) $(CSCFLAGS) /doc:docs.xml /nowarn:1591 /target:exe /r:System.dll /out:mcs.exe $(COMPILER_SOURCES)
61
62 windows: all
63
64 linux: all
65
66 opt:
67         $(CSC) /optimize+ /target:exe /r:System.dll /out:mcs.exe $(COMPILER_SOURCES)
68
69 old: test-tokenizer.exe
70 test-tokenizer.exe: $(TEST_TOKENIZER_SOURCES)
71         $(CSC) /target:exe /out:test-tokenizer.exe $(TEST_TOKENIZER_SOURCES)
72
73 bison:
74         perl -pe 's/\015//' < cs-parser.jay > x.y
75         bison --debug --verbose x.y
76
77 cs-parser.cs: cs-parser.jay
78         ../jay/jay -ctv < ../jay/skeleton.cs cs-parser.jay > cs-parser.cs
79
80 pn:
81         ../jay/jay -ctv < ../jay/skeleton.cs cs-parser.jay | grep -v '#line' > cs-parser.cs
82
83 #statementCollection.cs: X-Collection.cs
84 #       sed -e "s/@CONTAINEE@/Statement/g" -e "s/@arrayname@/statements/g" < X-Collection.cs > statementCollection.cs
85
86 #parameterCollection.cs: X-Collection.cs
87 #       sed -e "s/@CONTAINEE@/Parameter/g" -e "s/@arrayname@/parameters/g" < X-Collection.cs > parameterCollection.cs
88
89 clean:
90         rm -f mcs.exe cs-parser.cs y.output mcs.pdb *~ .*~ mb-parser.cs mcs.log response
91
92 MBAS_SOURCES = mb-parser.cs mb-tokenizer.cs
93
94 mbas: cs-parser.cs MonoBASIC.Parser.cs
95         $(CSC) $(CSCFLAGS) /target:exe /r:System.dll /out:mcs.exe $(COMPILER_SOURCES) $(MBAS_SOURCES)
96
97 mb-parser.cs: mb-parser.jay
98         ../jay/jay -ctv < ../jay/skeleton.cs mb-parser.jay > mb-parser.cs
99