Add new instructions to build.
[mono.git] / mcs / ilasm / makefile
1 CSC = csc
2 CSFLAGS = /nologo /optimize /target:exe /out:ilasm.exe
3 LIBFLAGS = /r:../class/lib/PEAPI.dll
4 INSTALL = /usr/bin/install
5 prefix = /usr
6
7 SOURCES =                               \
8         Driver.cs                       \
9         AssemblyInfo.cs                 \
10         codegen/CodeGen.cs              \
11         codegen/ExternTable.cs          \
12         codegen/InstrTable.cs           \
13         codegen/ITypeRef.cs             \
14         codegen/IClassRef.cs            \
15         codegen/FieldDef.cs             \
16         codegen/ParamDef.cs             \
17         codegen/MethodDef.cs            \
18         codegen/TypeDef.cs              \
19         codegen/DataDef.cs              \
20         codegen/TypeRef.cs              \
21         codegen/PeapiTypeRef.cs         \
22         codegen/ExternTypeRef.cs        \
23         codegen/PrimitiveTypeRef.cs     \
24         codegen/TypeManager.cs          \
25         codegen/IInstr.cs               \
26         codegen/IntInstr.cs             \
27         codegen/LdstrInstr.cs           \
28         codegen/SimpInstr.cs            \
29         codegen/MiscInstr.cs            \
30         codegen/LdcInstr.cs             \
31         parser/ILParser.cs              \
32         parser/ScannerAdapter.cs        \
33         scanner/ILReader.cs             \
34         scanner/ILSyntaxError.cs        \
35         scanner/ILTables.cs             \
36         scanner/ILToken.cs              \
37         scanner/ILTokenizer.cs          \
38         scanner/InstrToken.cs           \
39         scanner/ITokenStream.cs         \
40         scanner/Location.cs             \
41         scanner/NumberHelper.cs         \
42         scanner/StringHelperBase.cs     \
43         scanner/StringHelper.cs 
44
45 ilasm.exe: list
46         $(CSC) $(CSFLAGS) $(LIBFLAGS) @list
47
48 install: all
49         mkdir -p $(prefix)/bin
50         $(INSTALL) -m 755 ilasm.exe $(prefix)/bin
51
52 parser/ILParser.cs: parser/ILParser.jay ../jay/skeleton.cs
53         ../jay/jay -ct < ../jay/skeleton.cs parser/ILParser.jay > parser/ILParser.cs
54
55 list: $(SOURCES)
56         echo $(SOURCES) | sed -e 's@/@\\@g' > list
57
58 all: ilasm.exe
59
60 linux: ilasm.exe
61
62 windows: ilasm.exe
63
64 clean:
65         rm -f ilasm.exe parser/ILParser.cs list