* XmlSerializationReaderInterpreter.cs: Use the parameter type when getting the...
[mono.git] / mcs / makefile.gnu
index 9ecd40c4a516718858eb83589f7c9abd5a106c0f..86fe2904ef3439dc3d72ca87d7617bf4ad980be5 100644 (file)
@@ -1,25 +1,61 @@
-DIRS=jay mcs class nunit nunit/src/NUnitConsole
+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 install:
+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 monocharge-*.tar.gz
+       -rm -f monocharge-*.tar.gz
        for i in $(DIRS) ; do \
-               (cd $$i; $(MAKE) -f makefile.gnu $@) || exit 1; \
+               (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)) || exit 1; \
+               (cd $$i && $(MAKE) -f makefile.gnu install \
+                       prefix=$(PWD)/$(DIST) && cd ..) || exit 1; \
        done
        tar -c $(DIST) | gzip > $(DIST).tar.gz
        rm -rf $(DIST)