updated the demo application
[mono.git] / mcs / makefile
index 10e10723d7428ed8fdc45ffc9a6bfaaf3c7b92aa..da41a9b6a2cc29c3b1a18820371c69533b63b608 100755 (executable)
@@ -1,12 +1,19 @@
-VERSION=0.13.99
+VERSION=0.24.99
+DIST=monocharge-`date -u +%Y%m%d`
 
-DIRS=jay nant mcs class nunit tools
+DIRS=jay nant mcs class nunit20 monoresgen tools mbas ilasm
+INSTALL= /usr/bin/install
 
-all: linux
+all: 
+       if test x$(OS) = xWindows_NT; then make windows; else make -f makefile.gnu; fi
+
+install:
+       if test x$(OS) = xWindows_NT; then make windowsinstall; \
+       else make -f makefile.gnu install; fi
 
 windows:
        for i in $(DIRS); do                    \
-               (cd $$i; make linux)            \
+               (cd $$i; make windows) || exit 1;       \
        done
 
 linux:
@@ -15,15 +22,115 @@ linux:
        done
 
 test:
-       (cd nunit; make)
-       (cd class; make test)
+       if test x$(OS) = xWindows_NT; then make testwindows; else make -f makefile.gnu test; fi
+
+testcorlib:
+       if test x$(OS) = xWindows_NT; then make testcorlibwindows; else make -f makefile.gnu testcorlib; fi
+
+testwindows:
+       cd nunit20 && $(MAKE)
+       cd class && $(MAKE) test
+
+testcorlibwindows:
+       cd class && $(MAKE) testcorlib
 
 clean:
+       if test x$(OS) = xWindows_NT; then make cleanwindows; else make cleanlinux; fi
+
+cleanwindows:
        for i in $(DIRS); do                    \
                (cd $$i; make clean)            \
        done
 
+cleanlinux:
+       for i in $(DIRS); do                    \
+               (cd $$i; make -f makefile.gnu clean)            \
+       done
 
 dist: 
        (c=`pwd`; d=`basename $$c`; cd ..; cp -a $$d mcs-$(VERSION); cd mcs-$(VERSION); make clean; cd ..; \
-       tar czvf mcs-$(VERSION).tar.gz --exclude=CVS --exclude='.#*' --exclude=core --exclude='*~' --exclude='*.exe' mcs-$(VERSION))
+       tar czvf $$d/mcs-$(VERSION).tar.gz --exclude=CVS --exclude='.#*' --exclude=core --exclude='*~' --exclude='*.exe' mcs-$(VERSION); \
+       rm -rf mcs-$(VERSION))
+
+binary-snapshot: all
+       mkdir $(DIST)
+       $(MAKE) install prefix=$(PWD)/$(DIST) || exit 1; \
+       tar -c $(DIST) | gzip > $(DIST).tar.gz
+       rm -rf $(DIST)
+
+windowsinstall:
+       if test x$$prefix = x; then             \
+               echo Usage is: make install prefix=X:/cygwin/home/MyHome/mono/install;  exit 1; \
+       fi
+       mkdir -p $(prefix)/bin/
+       for iexe in $(MONO_WIN_INSTALL_BIN) ; do                                        \
+               echo Installing exe $$iexe;     \
+               ($(INSTALL) -m 755 $$iexe $(prefix)/bin/) || exit 1;    \
+               sed -e 's^\@bindir\@^$(prefix)^g' -e "s^\\@thewindowexe\\@^`basename \"$$iexe\"`^g" < ./winexe.in > ./winexe.tmp;       \
+               mv ./winexe.tmp ./$$iexe.sh;    \
+               ($(INSTALL) -m 755 $$iexe.sh $(prefix)/bin/) || exit 1;         \
+       done
+       mkdir -p $(prefix)/lib/
+       for idll in $(MONO_WIN_INSTALL_LIB) ; do                                \
+               echo Installing dll $$idll;     \
+               ($(INSTALL) -m 755 $$idll $(prefix)/lib/) || exit 1;    \
+       done
+
+MONO_WIN_INSTALL_LIB=  \
+       class/lib/Accessibility.dll     \
+       class/lib/ICSharpCode.SharpZipLib.dll \
+       class/lib/ByteFX.Data.dll \
+       class/lib/I18N.CJK.dll  \
+       class/lib/I18N.MidEast.dll      \
+       class/lib/I18N.Other.dll        \
+       class/lib/I18N.Rare.dll \
+       class/lib/I18N.West.dll \
+       class/lib/I18N.dll      \
+       class/lib/Microsoft.VisualBasic.dll     \
+       class/lib/Microsoft.VisualC.dll \
+       class/lib/Mono.Data.dll \
+       class/lib/Mono.Data.DB2Client.dll       \
+       class/lib/Mono.Data.MySql.dll   \
+       class/lib/Mono.Data.PostgreSqlClient.dll        \
+       class/lib/Mono.Data.SqliteClient.dll    \
+       class/lib/Mono.Data.SybaseClient.dll    \
+       class/lib/Mono.Data.Tds.dll     \
+       class/lib/Mono.Data.TdsClient.dll       \
+       class/lib/Mono.Directory.LDAP.dll       \
+       class/lib/Mono.GetOptions.dll   \
+       class/lib/Mono.PEToolkit.dll    \
+       class/lib/Mono.Posix.dll        \
+       class/lib/Mono.Security.dll     \
+       class/lib/Mono.Security.Win32.dll       \
+       class/lib/Npgsql.dll    \
+       class/lib/PEAPI.dll     \
+       class/lib/System.Configuration.Install.dll      \
+       class/lib/System.Data.dll       \
+       class/lib/System.Data.OracleClient.dll  \
+       class/lib/System.Design.dll     \
+       class/lib/System.Drawing.dll    \
+       class/lib/System.EnterpriseServices.dll \
+       class/lib/System.Management.dll \
+       class/lib/System.Runtime.Remoting.dll   \
+       class/lib/System.Runtime.Serialization.Formatters.Soap.dll      \
+       class/lib/System.Security.dll   \
+       class/lib/System.ServiceProcess.dll     \
+       class/lib/System.Web.Services.dll       \
+       class/lib/System.Web.dll        \
+       class/lib/System.Windows.Forms.dll      \
+       class/lib/System.Xml.dll        \
+       class/lib/System.dll    \
+       class/lib/corlib.dll
+
+MONO_WIN_INSTALL_BIN=  \
+       mcs/mcs.exe     \
+       mbas/mbas.exe   \
+       nant/NAnt.exe   \
+       ilasm/ilasm.exe \
+       monoresgen/monoresgen.exe       \
+       tools/EnumCheck.exe     \
+       tools/IFaceDisco.exe    \
+       tools/verifier.exe      \
+       tools/GenerateDelegate.exe      \
+       tools/monostyle.exe     \
+       tools/SqlSharp/sqlsharp.exe     \