2003-04-11 Ville Palo <vi64pa@kolumbus.fi>
[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/ClassTable.cs           \
14         codegen/ExternTable.cs          \
15         codegen/MethodTable.cs          \
16         codegen/InstrTable.cs           \
17         codegen/FieldTable.cs           \
18         codegen/TypeRef.cs              \
19         parser/ILParser.cs              \
20         parser/ScannerAdapter.cs        \
21         scanner/ILReader.cs             \
22         scanner/ILSyntaxError.cs        \
23         scanner/ILTables.cs             \
24         scanner/ILToken.cs              \
25         scanner/ILTokenizer.cs          \
26         scanner/InstrToken.cs           \
27         scanner/ITokenStream.cs         \
28         scanner/Location.cs             \
29         scanner/NumberHelper.cs         \
30         scanner/StringHelperBase.cs     \
31         scanner/StringHelper.cs         \
32
33 all: ilasm.exe
34
35 ilasm.exe: list
36         $(MCS) $(CSFLAGS) $(LIBFLAGS) @list -o ilasm.exe
37
38 install: all
39         mkdir -p $(prefix)/bin
40         $(INSTALL) -m 755 ilasm.exe $(prefix)/bin
41
42 parser/ILParser.cs: parser/ILParser.jay $(topdir)/jay/skeleton.cs
43         $(topdir)/jay/jay -ct < $(topdir)/jay/skeleton.cs parser/ILParser.jay > parser/ILParser.cs
44
45 list: $(SOURCES)
46         echo $(SOURCES) > list
47
48 clean:
49         rm -f ilasm.exe parser/ILParser.cs list
50