2003-01-18 Sebastien Pouliot <spouliot@videotron.ca>
[mono.git] / mcs / tools / makefile.gnu
1 CSC=mcs
2 CSCRIPT=$(WINDIR)/system32/cscript.exe
3 CSCFLAGS=/nologo /debug+ /debug:full 
4 INSTALL = /usr/bin/install
5
6 MONO_TOOLS = monostyle.exe GenerateDelegate.exe EnumCheck.exe IFaceDisco.exe ./SqlSharp/sqlsharp.exe secutil.exe cert2spc.exe
7
8 DIRS = 
9
10 # tools commented here because they were unable to build under linux
11 #MONO_TOOLS = monostyle.exe verifier.exe GenerateDelegate.exe EnumCheck.exe IFaceDisco.exe ./type-reflector/type-reflector.exe ./corcompare/CorCompare.exe ./SqlSharp/SqlSharpCli.exe
12
13 all: tools
14         for i in $(DIRS) ; do \
15                 $(MAKE) -C $$i -f makefile.gnu $@ || exit 1; \
16         done
17
18 linx: $(MONO_TOOLS)
19
20 tools: $(MONO_TOOLS)
21
22 windows: $(MONO_TOOLS)
23
24 install: all
25         if test x$$prefix = x; then \
26                 echo Usage is: make -f makefile.gnu install prefix=YOURPREFIX; \
27                 exit 1; \
28         fi;
29         mkdir -p $(prefix)/bin/
30         for i in $(MONO_TOOLS) ; do \
31                 ($(INSTALL) -m 755 $$i $(prefix)/bin/) || exit 1; \
32         done
33         for i in $(DIRS) ; do \
34                 $(MAKE) -C $$i -f makefile.gnu $@ || exit 1; \
35         done
36
37 monostyle.exe: monostyle.cs
38         $(CSC) $(CSCFLAGS) monostyle.cs
39
40 GenerateDelegate.exe: GenerateDelegate.cs
41         $(CSC) $(CSCFLAGS) /out:$@ $<
42
43 verifier.exe: verifier.cs
44         $(CSC) $(CSCFLAGS) verifier.cs
45
46 ./SqlSharp/sqlsharp.exe: dummy
47         (cd SqlSharp; make CSC=$(CSC))
48
49 ./corcompare/CorCompare.exe: dummy
50         (cd corcompare; make CorCompare.exe)
51
52 update: ../../mono/doc/pending-classes
53
54 cormissing.xml: ./corcompare/CorCompare.exe ../class/lib/corlib_cmp.dll
55         ./corcompare/CorCompare.exe -x cormissing.xml -f corlib -ms mscorlib ../class/lib/corlib_cmp.dll
56
57 ../../mono/doc/pending-classes: ./corcompare/cormissing.xsl cormissing.xml
58         $(CSCRIPT) /nologo ./corcompare/transform.js cormissing.xml ./corcompare/cormissing.xsl > ../../mono/doc/pending-classes
59
60
61 EnumCheck: EnumCheck.exe
62
63 EnumCheck.exe: EnumCheck.cs EnumCheckAssemblyCollection.cs
64         $(CSC) $(CSCFLAGS) /out:EnumCheck.exe EnumCheck.cs EnumCheckAssemblyCollection.cs
65
66 IFaceDisco.exe: IFaceDisco.cs XMLUtil.cs
67         $(CSC) $(CSCFLAGS) /out:IFaceDisco.exe IFaceDisco.cs XMLUtil.cs
68
69 secutil.exe: secutil.cs
70         $(CSC) $(CSCFLAGS) secutil.cs
71
72 cert2spc.exe: cert2spc.cs ASN1.cs
73         $(CSC) $(CSCFLAGS) /out:cert2spc.exe cert2spc.cs ASN1.cs
74
75 clean:
76         (cd corcompare; make clean)
77         (cd SqlSharp; make clean)
78         rm -f *.exe *.pdb *.dbg *.dll
79         rm -f cormissing.xml
80         rm -f ../../mono/doc/pending-classes.in
81         for i in $(DIRS) ; do \
82                 $(MAKE) -C $$i -f makefile.gnu $@ || exit 1; \
83         done
84
85 dummy:
86
87 test: