18ebc2bbd015eb525c18de0b00999cfd200ecf23
[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/TypeDef.cs              \
19         codegen/TypeRef.cs              \
20         codegen/PeapiTypeRef.cs         \
21         codegen/ExternTypeRef.cs        \
22         codegen/PrimitiveTypeRef.cs     \
23         codegen/TypeManager.cs          \
24         parser/ILParser.cs              \
25         parser/ScannerAdapter.cs        \
26         scanner/ILReader.cs             \
27         scanner/ILSyntaxError.cs        \
28         scanner/ILTables.cs             \
29         scanner/ILToken.cs              \
30         scanner/ILTokenizer.cs          \
31         scanner/InstrToken.cs           \
32         scanner/ITokenStream.cs         \
33         scanner/Location.cs             \
34         scanner/NumberHelper.cs         \
35         scanner/StringHelperBase.cs     \
36         scanner/StringHelper.cs         \
37
38 all: ilasm.exe
39
40 ilasm.exe: list
41         $(MCS) $(CSFLAGS) $(LIBFLAGS) @list -o ilasm.exe
42
43 install: all
44         mkdir -p $(prefix)/bin
45         $(INSTALL) -m 755 ilasm.exe $(prefix)/bin
46
47 parser/ILParser.cs: parser/ILParser.jay $(topdir)/jay/skeleton.cs
48         $(topdir)/jay/jay -ct < $(topdir)/jay/skeleton.cs parser/ILParser.jay > parser/ILParser.cs
49
50 list: $(SOURCES)
51         echo $(SOURCES) > list
52
53 clean:
54         rm -f ilasm.exe parser/ILParser.cs list
55