2003-07-02 Martin Baulig <martin@ximian.com>
[mono.git] / mcs / ilasm / makefile.gnu
1 RUNTIME = mono
2 topdir = ..
3 MCS = $(RUNTIME) $(topdir)/mcs/mcs.exe
4 CSFLAGS = --target exe -L ../class/lib
5 LIBFLAGS = /r:PEAPI.dll
6 INSTALL = /usr/bin/install
7 prefix = /usr
8
9 SOURCES =                               \
10         Driver.cs                       \
11         AssemblyInfo.cs                 \
12         codegen/CodeGen.cs              \
13         codegen/ExternTable.cs          \
14         codegen/InstrTable.cs           \
15         codegen/ITypeRef.cs             \
16         codegen/IClassRef.cs            \
17         codegen/FieldDef.cs             \
18         codegen/ParamDef.cs             \
19         codegen/MethodDef.cs            \
20         codegen/TypeDef.cs              \
21         codegen/DataDef.cs              \
22         codegen/TypeRef.cs              \
23         codegen/PeapiTypeRef.cs         \
24         codegen/ExternTypeRef.cs        \
25         codegen/PrimitiveTypeRef.cs     \
26         codegen/TypeManager.cs          \
27         codegen/IInstr.cs               \
28         codegen/IntInstr.cs             \
29         codegen/LdstrInstr.cs           \
30         codegen/SimpInstr.cs            \
31         codegen/MiscInstr.cs            \
32         codegen/LdcInstr.cs             \
33         codegen/BranchInstr.cs          \
34         codegen/SwitchInstr.cs          \
35         codegen/TypeInstr.cs            \
36         codegen/MethodInstr.cs          \
37         codegen/Local.cs                \
38         codegen/IMethodRef.cs           \
39         codegen/ExternMethodRef.cs      \
40         codegen/MethodRef.cs            \
41         codegen/GlobalMethodRef.cs      \
42         codegen/IFieldRef.cs            \
43         codegen/ExternFieldRef.cs       \
44         codegen/GlobalFieldRef.cs       \
45         codegen/FeatureAttr.cs          \
46         codegen/EventDef.cs             \
47         codegen/PropertyDef.cs          \
48         codegen/FieldRef.cs             \
49         codegen/FieldInstr.cs           \
50         codegen/LdtokenInstr.cs         \
51         codegen/CalliInstr.cs           \
52         codegen/TryBlock.cs             \
53         codegen/ISehClause.cs           \
54         codegen/FilterBlock.cs          \
55         codegen/FinallyBlock.cs         \
56         codegen/HandlerBlock.cs         \
57         codegen/FaultBlock.cs           \
58         codegen/CatchBlock.cs           \
59         codegen/CustomAttr.cs           \
60         parser/ILParser.cs              \
61         parser/ScannerAdapter.cs        \
62         scanner/ILReader.cs             \
63         scanner/ILSyntaxError.cs        \
64         scanner/ILTables.cs             \
65         scanner/ILToken.cs              \
66         scanner/ILTokenizer.cs          \
67         scanner/InstrToken.cs           \
68         scanner/ITokenStream.cs         \
69         scanner/Location.cs             \
70         scanner/NumberHelper.cs         \
71         scanner/StringHelperBase.cs     \
72         scanner/StringHelper.cs         \
73
74 all: ilasm.exe
75
76 ilasm.exe: list
77         $(MCS) $(CSFLAGS) $(LIBFLAGS) @list -o ilasm.exe
78
79 install: all
80         mkdir -p $(prefix)/bin
81         $(INSTALL) -m 755 ilasm.exe $(prefix)/bin
82
83 parser/ILParser.cs: parser/ILParser.jay $(topdir)/jay/skeleton.cs
84         $(topdir)/jay/jay -ct < $(topdir)/jay/skeleton.cs parser/ILParser.jay > parser/ILParser.cs
85
86 list: $(SOURCES)
87         echo $(SOURCES) > list
88
89 clean:
90         rm -f ilasm.exe parser/ILParser.cs list
91