Handle .local and newobj
[mono.git] / mcs / ilasm / makefile.gnu
1 RUNTIME = mono
2 topdir = ..
3 MCS = $(RUNTIME) $(topdir)/mcs/mcs.exe
4 CSFLAGS = --target exe
5 INSTALL = /usr/bin/install
6 prefix = /usr
7
8 SOURCES =                               \
9         Driver.cs                       \
10         codegen/Class.cs                \
11         codegen/CodeGen.cs              \
12         codegen/InstrBase.cs            \
13         codegen/Instructions.cs         \
14         codegen/Method.cs               \
15         codegen/Types.cs                \
16         parser/ILParser.cs              \
17         parser/ScannerAdapter.cs        \
18         scanner/ILReader.cs             \
19         scanner/ILSyntaxError.cs        \
20         scanner/ILTables.cs             \
21         scanner/ILToken.cs              \
22         scanner/ILTokenizer.cs          \
23         scanner/InstrToken.cs           \
24         scanner/ITokenStream.cs         \
25         scanner/Location.cs             \
26         scanner/NumberHelper.cs         \
27         scanner/StringHelperBase.cs     \
28         scanner/StringHelper.cs
29
30 all: ilasm.exe
31
32 ilasm.exe: list
33         $(MCS) $(CSFLAGS) @list -o ilasm.exe
34
35 install: all
36         mkdir -p $(prefix)/bin
37         $(INSTALL) -m 755 ilasm.exe $(prefix)/bin
38
39 parser/ILParser.cs: parser/ILParser.jay $(topdir)/jay/skeleton.cs
40         $(topdir)/jay/jay -ct < $(topdir)/jay/skeleton.cs parser/ILParser.jay > parser/ILParser.cs
41
42 list: $(SOURCES)
43         echo $(SOURCES) > list
44
45 clean:
46         rm -f ilasm.exe parser/ILParser.cs list
47