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