2003/02/27 10:23:27
[org.ibex.core.git] / Makefile
index f2ce8d7..d8afc98 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-#
+#           
 # The XWT Makefile
 #
 
@@ -32,7 +32,7 @@ all_platforms          := Win32 Linux Java2
 ## Platform-Neutral ###########################################################################
 
 ifneq ($(verbose),true)
-.SILENT: dist update-build $(jikes_java_objects) .headers $(gcj_java_objects) $(all_platforms) PalmOS bin/org/xwt/builtin.xwar nohup-dist
+.SILENT: $(jikes_java_objects) .headers $(gcj_java_objects) $(all_platforms) bin/org/xwt/builtin.xwar
 silent := --silent
 endif
 
@@ -41,7 +41,8 @@ compile: $(jikes_java_objects) bin/org/xwt/builtin.xwar
 all: $(all_platforms)
 
 $(jikes_java_objects): $(jikes_java_sources)
-       echo -ne "compiling  .java -> .class:\\r"
+       test "$(JAVA_HOME)"x != x || (echo "you forgot to set your $$JAVA_HOME environment variable"; false)
+       echo "compiling  .java -> .class:"
        mkdir -p bin
        $(jikes) -sourcepath src/ -classpath lib/libgcj-minimal.jar $(jikes_java_sources) -d bin/
        echo "compiling  .java -> .class: done"
@@ -61,8 +62,8 @@ update-build:
        echo -n "Next build will be "
        cat next.build
        cvs update CHANGES
-       echo `date +%d-%b`" =========== build $(current_build) ================================================" >> CHANGES
        echo "" >> CHANGES
+       echo `date +%d-%b`" =========== build $(current_build) ================================================" >> CHANGES
        echo committing...
        cvs commit -m 'this comment should not appear in CHANGES' next.build CHANGES
        echo committed.
@@ -83,22 +84,22 @@ link: $(gcj_java_objects) $(cc_objects)
 
 .headers: $(jikes_java_objects)
        cd bin; for A in `find * -name \*.class`; do \
-               echo -ne "\033[K\\rextracting .class -> .h:     $$A\\r"; \
+               echo "extracting .class -> .h:     $$A"; \
                $(gcjh) --classpath . `echo $$A | sed s_/_._g | sed s/.class$$//`; \
                done
-       echo -e "\033[K\\rextracting .class -> .h:     done"
+       echo "extracting .class -> .h:     done"
        touch .headers
 
 # turn off optimization of Trap.java due to a compiler bug
 bin-$(platform)/org/xwt/Trap.o: gcj_flags := -O0 -g
 
 $(gcj_java_objects): bin-$(platform)/%.o: src/%.java $(jikes_java_objects)
-       echo -ne "\033[K\\rcompiling  .java -> .o:     $<\\r"
+       echo -ne "compiling  .java -> .o:     $<"
        mkdir -p `dirname $@`
        $(gcj) -c $< -o $@
 
 $(cc_objects): bin-$(platform)/%-nat.o: src/%.cc
-       echo -ne "\033[K\\rcompiling  .cc -> .o:     $$A\\r"
+       echo -ne "compiling  .cc -> .o:     $$A"
        $(gcc) -Ibin -c $< -o $@
 
 bin-$(platform)/org/xwt/builtin.xwar: $(xwar_sources)
@@ -149,26 +150,29 @@ PalmOS:
 
 current_build         := $(shell cat next.build)
 
-nohup-dist:
-       rm .make-dist.out
-       touch .make-dist.out
-       nice -n 19 nohup make dist & \
-               tail -f .make-dist.out | grep -v "make...:.\(Entering\|Leaving\).directory"
-
 dist:
-       test `uname -n` = gosset.megacz.com || \
-               (echo -e "um, dist is only intended for use on xwt.org...\nedit the Makefile if you really know what you're doing."; false)
+       # this will fail if we haven't checked-in since the comment is null; we want this.
+#      cvs commit -m '' > /dev/null
+
        echo "***********************************************************"
        echo "*  This build is $(current_build)"
        echo "***********************************************************"
 
-       make $(silent) update-build
-       (make $(silent) dist-private &> .make-dist.out) || \
-               (cat .make-dist.out | mail -s "Build $(current_build) FAILED" cvs@xwt.org; false)
-       cat .make-dist.out | \
-               mail -s "Unsigned binaries of build $(current_build) are now available" cvs@xwt.org < /dev/null
+       (test `uname -n` = gosset.megacz.com) || \
+               ssh xwt@xwt.org verbose=$(verbose) /home/xwt/dist \
+                       | grep -v "make...:.\(Entering\|Leaving\).directory"
+
+       (test `uname -n` = gosset.megacz.com) && \
+               (((make $(silent) dist-private 2>&1) >> .make-dist.out) || \
+                       (cat .make-dist.out | mail -s "Build $(current_build) FAILED" cvs@xwt.org; false))
+
+       (test `uname -n` = gosset.megacz.com) && \
+               (cat .make-dist.out | \
+                       mail -s "Unsigned binaries of $(current_build) are now available" cvs@xwt.org < /dev/null)
 
 dist-private:
+       make $(silent) update-build
+
        # preserve gcc across builds so we don't have to remake it
        mv gcc/Makefile Makefile.gcc
        mkdir -p $(HOME)/dist.xwt.org-gcc