2002-12-6 DennisHayes <dennish@raytek.com>
[mono.git] / mcs / makefile
1 VERSION=0.13.99
2
3 DIRS=jay nant mcs class nunit monoresgen ilasm tools
4 INSTALL= /usr/bin/install
5
6 all: 
7         if test x$(OS) = xWindows_NT; then make linux; else make -f makefile.gnu; fi
8
9 install:
10         if test x$(OS) = xWindows_NT; then make windowsinstall; else make -f makefile.gnu install; fi
11
12 windows:
13         for i in $(DIRS); do                    \
14                 (cd $$i; make linux) || exit 1; \
15         done
16
17 linux:
18         for i in $(DIRS); do                    \
19                 (cd $$i; make linux) || exit 1; \
20         done
21
22 test:
23         if test x$(OS) = xWindows_NT; then make testwindows; else make -f makefile.gnu test; fi
24
25 testwindows:
26         (cd nunit; make)
27         (cd class; make test)
28
29 clean:
30         if test x$(OS) = xWindows_NT; then make cleanwindows; else make cleanlinux; fi
31
32 cleanwindows:
33         for i in $(DIRS); do                    \
34                 (cd $$i; make clean)            \
35         done
36
37 cleanlinux:
38         for i in $(DIRS); do                    \
39                 (cd $$i; make -f makefile.gnu clean)            \
40         done
41
42 dist: 
43         (c=`pwd`; d=`basename $$c`; cd ..; cp -a $$d mcs-$(VERSION); cd mcs-$(VERSION); make clean; cd ..; \
44         tar czvf $$d/mcs-$(VERSION).tar.gz --exclude=CVS --exclude='.#*' --exclude=core --exclude='*~' --exclude='*.exe' mcs-$(VERSION); \
45         rm -rf mcs-$(VERSION))
46
47 windowsinstall:
48         if test x$$prefix = x; then             \
49                 echo Usage is: make install prefix=X:/cygwin/home/MyHome/mono/install;  exit 1; \
50         fi
51         mkdir -p $(prefix)/bin/
52         for iexe in $(MONO_WIN_INSTALL_BIN) ; do                                        \
53                 echo Installing exe $$iexe;     \
54                 ($(INSTALL) -m 755 $$iexe $(prefix)/bin/) || exit 1;    \
55                 sed -e 's^\@bindir\@^$(prefix)^g' -e "s^\\@thewindowexe\\@^`basename \"$$iexe\"`^g" < ./winexe.in > ./winexe.tmp;       \
56                 mv ./winexe.tmp ./$$iexe.sh;    \
57                 ($(INSTALL) -m 755 $$iexe.sh $(prefix)/bin/) || exit 1;         \
58         done
59         mkdir -p $(prefix)/lib/
60         for idll in $(MONO_WIN_INSTALL_LIB) ; do                                \
61                 echo Installing dll $$idll;     \
62                 ($(INSTALL) -m 755 $$idll $(prefix)/lib/) || exit 1;    \
63         done
64
65 MONO_WIN_INSTALL_LIB=   \
66         class/lib/I18N.CJK.dll  \
67         class/lib/I18N.MidEast.dll      \
68         class/lib/I18N.Other.dll        \
69         class/lib/I18N.Rare.dll \
70         class/lib/I18N.West.dll \
71         class/lib/I18N.dll      \
72         class/lib/Microsoft.VisualBasic.dll     \
73         class/lib/Mono.Data.MySql.dll   \
74         class/lib/Mono.Data.PostgreSqlClient.dll        \
75         class/lib/Mono.Data.SqliteClient.dll    \
76         class/lib/Mono.Data.SybaseClient.dll    \
77         class/lib/Mono.Data.Tds.dll     \
78         class/lib/Mono.Data.TdsClient.dll       \
79         class/lib/Mono.PEToolkit.dll    \
80         class/lib/System.Configuration.Install.dll      \
81         class/lib/System.Data.dll       \
82         class/lib/System.Drawing.dll    \
83         class/lib/System.EnterpriseServices.dll \
84         class/lib/System.Runtime.Remoting.dll   \
85         class/lib/System.Runtime.Serialization.Formatters.Soap.dll      \
86         class/lib/System.Web.Services.dll       \
87         class/lib/System.Web.dll        \
88         class/lib/System.Xml.dll        \
89         class/lib/System.dll    \
90         class/lib/corlib.dll    \
91         class/lib/corlib_cmp.dll        \
92         nunit/NUnitBase.dll     \
93         nunit/NUnitCore.dll     \
94         nunit/NUnitCore_mono.dll
95
96 MONO_WIN_INSTALL_BIN=   \
97         mcs/mcs.exe     \
98         nant/NAnt.exe   \
99         nunit/NUnitConsole.exe  \
100         nunit/NUnitConsole_mono.exe     \
101         ilasm/ilasm.exe \
102         monoresgen/monoresgen.exe       \
103         tools/EnumCheck.exe     \
104         tools/IFaceDisco.exe    \
105         tools/verifier.exe      \
106         tools/GenerateDelegate.exe      \
107         tools/monostyle.exe     \
108         tools/SqlSharp/SqlSharpCli.exe  \
109         tools/type-reflector/type-reflector.exe \
110         tools/corcompare/CorCompare.exe