Initial import of the Generic MCS tree.
[mono.git] / mcs / gmcs / Makefile
1 thisdir := mcs
2 SUBDIRS := 
3 include ../build/rules.make
4
5 COMPILER_SOURCES = \
6         AssemblyInfo.cs                 \
7         anonymous.cs                    \
8         assign.cs                       \
9         attribute.cs                    \
10         driver.cs                       \
11         cs-tokenizer.cs                 \
12         cfold.cs                        \
13         class.cs                        \
14         codegen.cs                      \
15         const.cs                        \
16         constant.cs                     \
17         convert.cs                      \
18         decl.cs                         \
19         delegate.cs                     \
20         enum.cs                         \
21         ecore.cs                        \
22         expression.cs                   \
23         generic.cs                      \
24         interface.cs                    \
25         iterators.cs                    \
26         literal.cs                      \
27         location.cs                     \
28         modifiers.cs                    \
29         namespace.cs                    \
30         parameter.cs                    \
31         pending.cs                      \
32         report.cs                       \
33         rootcontext.cs                  \
34         statement.cs                    \
35         support.cs                      \
36         typemanager.cs                  \
37         symbolwriter.cs                 \
38         tree.cs
39
40 all_sources = $(COMPILER_SOURCES) cs-parser.cs
41
42 DISTFILES = \
43         $(COMPILER_SOURCES)     \
44         compiler.csproj         \
45         compiler.csproj.user    \
46         compiler.doc            \
47         compiler.sln            \
48         cs-parser.jay           \
49         mcs.exe.config          \
50         NOTES                   \
51         TODO
52
53 all-local: mcs.exe
54
55 install-local: mcs.exe
56         $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/bin
57         $(INSTALL_BIN) mcs.exe $(DESTDIR)$(prefix)/bin
58
59 test-local run-test-local:
60
61 clean-local:
62         rm -f *.exe *.pdb cs-parser.cs y.output
63
64 dist-local: dist-default
65
66 mcs.exe: $(all_sources)
67         $(BOOT_COMPILE) /target:exe /out:$@ $^
68
69 cs-parser.cs: cs-parser.jay $(topdir)/jay/skeleton.cs
70         $(topdir)/jay/jay -ctv < $(topdir)/jay/skeleton.cs $< >$@
71
72 # Testing targets
73
74 TIME = time
75
76 # This used to be called test, but that conflicts with the global
77 # recursive target.
78
79 btest: mcs2.exe mcs3.exe
80         ls -l mcs2.exe mcs3.exe
81
82 mcs2.exe: mcs.exe
83         $(TIME) $(RUNTIME) ./mcs.exe $(USE_MCS_FLAGS) /target:exe /out:$@ $(all_sources)
84
85 mcs3.exe: mcs2.exe
86         $(TIME) $(RUNTIME) ./mcs2.exe $(USE_MCS_FLAGS) /target:exe /out:$@ $(all_sources)