* XmlSerializationReaderInterpreter.cs: Use the parameter type when getting the...
[mono.git] / mcs / makefile.gnu
index 444d18e9b2c90c27240e9ef95faf011316acbb03..86fe2904ef3439dc3d72ca87d7617bf4ad980be5 100644 (file)
@@ -1,10 +1,62 @@
-DIRS=jay mcs nunit class
+DIRS=jay mcs class mbas nunit20 monoresgen ilasm tools
+DIST=monocharge-`date -u +%Y%m%d`
+MCS = mcs
+INSTALL=/usr/bin/install
+DOCFILES= README.building
 
 #nant doesn't work yet
 
 default: all
 
-all clean:
+all:
+       if ! which $(MCS); then \
+               echo You must have a C\# compiler installed to continue.; \
+               echo This is typically provided by \'mono\'.; \
+               echo Read INSTALL.txt for details.; \
+               exit 1; \
+       fi;
        for i in $(DIRS) ; do \
-               (cd $$i; $(MAKE) -f makefile.gnu $@) || exit 1; \
+               (cd $$i && $(MAKE) -f makefile.gnu $@ && cd ..) || exit 1; \
        done
+
+install:
+       if test x$$prefix = x; then \
+               echo Usage is: make -f makefile.gnu install prefix=YOURPREFIX; \
+               exit 1; \
+       fi;
+       for i in $(DIRS) ; do \
+               (cd $$i && $(MAKE) -f makefile.gnu $@ && cd ..) || exit 1; \
+       done
+       mkdir -p $(prefix)/share/doc/mono
+       $(INSTALL) -m 644 $(DOCFILES) $(prefix)/share/doc/mono
+
+
+test: all
+       for i in $(DIRS) ; do \
+               (cd $$i && $(MAKE) -f makefile.gnu $@ && cd ..) || exit 1; \
+       done
+
+testcorlib:
+       cd class/corlib/Test && $(MAKE) -f makefile.gnu test
+
+clean:
+       -rm -f monocharge-*.tar.gz
+       for i in $(DIRS) ; do \
+               (cd $$i && $(MAKE) -f makefile.gnu $@ && cd ..) || exit 1; \
+       done
+
+corlib:
+       cd class/corlib && $(MAKE) -f makefile.gnu
+
+# Please do only use `binary-snapshot', the `dist' target will disappear really soon !
+binary-snapshot: dist
+
+dist: all
+       mkdir $(DIST)
+       for i in $(DIRS) ; do \
+               (cd $$i && $(MAKE) -f makefile.gnu install \
+                       prefix=$(PWD)/$(DIST) && cd ..) || exit 1; \
+       done
+       tar -c $(DIST) | gzip > $(DIST).tar.gz
+       rm -rf $(DIST)
+