*** empty log message ***
[mono.git] / mcs / makefile
1 VERSION=0.24.99
2 DIST=monocharge-`date -u +%Y%m%d`
3
4 DIRS=jay nant mcs class nunit20 monoresgen tools mbas ilasm
5 INSTALL= /usr/bin/install
6
7 all: 
8         if test x$(OS) = xWindows_NT; then make windows; else make -f makefile.gnu; fi
9
10 install:
11         if test x$(OS) = xWindows_NT; then make windowsinstall; \
12         else make -f makefile.gnu install; fi
13
14 windows:
15         for i in $(DIRS); do                    \
16                 (cd $$i; make windows) || exit 1;       \
17         done
18
19 linux:
20         for i in $(DIRS); do                    \
21                 (cd $$i; make linux) || exit 1; \
22         done
23
24 test:
25         if test x$(OS) = xWindows_NT; then make testwindows; else make -f makefile.gnu test; fi
26
27 testcorlib:
28         if test x$(OS) = xWindows_NT; then make testcorlibwindows; else make -f makefile.gnu testcorlib; fi
29
30 testwindows:
31         cd nunit20 && $(MAKE)
32         cd class && $(MAKE) test
33
34 testcorlibwindows:
35         cd class && $(MAKE) testcorlib
36
37 clean:
38         if test x$(OS) = xWindows_NT; then make cleanwindows; else make cleanlinux; fi
39
40 cleanwindows:
41         for i in $(DIRS); do                    \
42                 (cd $$i; make clean)            \
43         done
44
45 cleanlinux:
46         for i in $(DIRS); do                    \
47                 (cd $$i; make -f makefile.gnu clean)            \
48         done
49
50 dist: 
51         (c=`pwd`; d=`basename $$c`; cd ..; cp -a $$d mcs-$(VERSION); cd mcs-$(VERSION); make clean; cd ..; \
52         tar czvf $$d/mcs-$(VERSION).tar.gz --exclude=CVS --exclude='.#*' --exclude=core --exclude='*~' --exclude='*.exe' mcs-$(VERSION); \
53         rm -rf mcs-$(VERSION))
54
55 binary-snapshot: all
56         mkdir $(DIST)
57         $(MAKE) install prefix=$(PWD)/$(DIST) || exit 1; \
58         tar -c $(DIST) | gzip > $(DIST).tar.gz
59         rm -rf $(DIST)
60
61 windowsinstall:
62         if test x$$prefix = x; then             \
63                 echo Usage is: make install prefix=X:/cygwin/home/MyHome/mono/install;  exit 1; \
64         fi
65         mkdir -p $(prefix)/bin/
66         for iexe in $(MONO_WIN_INSTALL_BIN) ; do                                        \
67                 echo Installing exe $$iexe;     \
68                 ($(INSTALL) -m 755 $$iexe $(prefix)/bin/) || exit 1;    \
69                 sed -e 's^\@bindir\@^$(prefix)^g' -e "s^\\@thewindowexe\\@^`basename \"$$iexe\"`^g" < ./winexe.in > ./winexe.tmp;       \
70                 mv ./winexe.tmp ./$$iexe.sh;    \
71                 ($(INSTALL) -m 755 $$iexe.sh $(prefix)/bin/) || exit 1;         \
72         done
73         mkdir -p $(prefix)/lib/
74         for idll in $(MONO_WIN_INSTALL_LIB) ; do                                \
75                 echo Installing dll $$idll;     \
76                 ($(INSTALL) -m 755 $$idll $(prefix)/lib/) || exit 1;    \
77         done
78
79 MONO_WIN_INSTALL_LIB=   \
80         class/lib/Accessibility.dll     \
81         class/lib/ICSharpCode.SharpZipLib.dll \
82         class/lib/ByteFX.Data.dll \
83         class/lib/I18N.CJK.dll  \
84         class/lib/I18N.MidEast.dll      \
85         class/lib/I18N.Other.dll        \
86         class/lib/I18N.Rare.dll \
87         class/lib/I18N.West.dll \
88         class/lib/I18N.dll      \
89         class/lib/Microsoft.VisualBasic.dll     \
90         class/lib/Microsoft.VisualC.dll \
91         class/lib/Mono.Data.dll \
92         class/lib/Mono.Data.DB2Client.dll       \
93         class/lib/Mono.Data.MySql.dll   \
94         class/lib/Mono.Data.PostgreSqlClient.dll        \
95         class/lib/Mono.Data.SqliteClient.dll    \
96         class/lib/Mono.Data.SybaseClient.dll    \
97         class/lib/Mono.Data.Tds.dll     \
98         class/lib/Mono.Data.TdsClient.dll       \
99         class/lib/Mono.Directory.LDAP.dll       \
100         class/lib/Mono.GetOptions.dll   \
101         class/lib/Mono.PEToolkit.dll    \
102         class/lib/Mono.Posix.dll        \
103         class/lib/Mono.Security.dll     \
104         class/lib/Mono.Security.Win32.dll       \
105         class/lib/Npgsql.dll    \
106         class/lib/PEAPI.dll     \
107         class/lib/System.Configuration.Install.dll      \
108         class/lib/System.Data.dll       \
109         class/lib/System.Data.OracleClient.dll  \
110         class/lib/System.Design.dll     \
111         class/lib/System.Drawing.dll    \
112         class/lib/System.EnterpriseServices.dll \
113         class/lib/System.Management.dll \
114         class/lib/System.Runtime.Remoting.dll   \
115         class/lib/System.Runtime.Serialization.Formatters.Soap.dll      \
116         class/lib/System.Security.dll   \
117         class/lib/System.ServiceProcess.dll     \
118         class/lib/System.Web.Services.dll       \
119         class/lib/System.Web.dll        \
120         class/lib/System.Windows.Forms.dll      \
121         class/lib/System.Xml.dll        \
122         class/lib/System.dll    \
123         class/lib/corlib.dll
124
125 MONO_WIN_INSTALL_BIN=   \
126         mcs/mcs.exe     \
127         mbas/mbas.exe   \
128         nant/NAnt.exe   \
129         ilasm/ilasm.exe \
130         monoresgen/monoresgen.exe       \
131         tools/EnumCheck.exe     \
132         tools/IFaceDisco.exe    \
133         tools/verifier.exe      \
134         tools/GenerateDelegate.exe      \
135         tools/monostyle.exe     \
136         tools/SqlSharp/sqlsharp.exe     \