2003-04-24 Ville Palo <vi64pa@kolumbus.fi>
[mono.git] / mcs / makefile.gnu
index 2a6f174be6d26f7ee78089062cc7f52dd71619c9..499300cd0840449efab63c06eb1bf1a649affd18 100644 (file)
@@ -1,13 +1,22 @@
-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:
+       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; \
+               $(MAKE) -C $$i -f makefile.gnu $@ || exit 1; \
        done
 
 install:
@@ -16,19 +25,36 @@ install:
                exit 1; \
        fi;
        for i in $(DIRS) ; do \
-               (cd $$i; $(MAKE) -f makefile.gnu $@) || exit 1; \
+               $(MAKE) -C $$i -f makefile.gnu $@ || exit 1; \
        done
+       mkdir -p $(prefix)/share/doc/mono
+       $(INSTALL) -m 644 $(DOCFILES) $(prefix)/share/doc/mono
+
+
+test: all
+       for i in $(DIRS) ; do \
+               $(MAKE) -C $$i -f makefile.gnu $@ || exit 1; \
+       done
+
+testcorlib:
+       $(MAKE) -C class/corlib/Test -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; \
+               $(MAKE) -C $$i -f makefile.gnu $@ || exit 1; \
        done
 
+corlib:
+       $(MAKE) -C class/corlib -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; \
+               $(MAKE) -C $$i -f makefile.gnu install prefix=$(PWD)/$(DIST) || exit 1; \
        done
        tar -c $(DIST) | gzip > $(DIST).tar.gz
        rm -rf $(DIST)