2003/02/26 04:13:05
[org.ibex.core.git] / Makefile
index 1c257d4..f164467 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@ gcc_flags              := -O9 -ffast-math -fomit-frame-pointer -foptimize-siblin
 gcj_flags              := -fCLASSPATH=bin 
 gcj                    := $(gcc_path)/bin/$(target)-gcj $(gcj_flags) $(gcc_flags)
 gcc                    := $(gcc_path)/bin/$(target)-g++ $(gcc_flags)
-gcjh                   := $(gcc_path)/bin-$(target)-gcjh
+gcjh                   := $(gcc_path)/bin/$(target)-gcjh
 ar                     := $(gcc_path)/$(target)/bin/ar
 jikes                  := jikes -extdirs ${JAVA_HOME}/jre/lib -nowarn
 
@@ -31,7 +31,7 @@ all_platforms          := Win32 Linux Java2
 
 ## Platform-Neutral ###########################################################################
 
-.SILENT: $(jikes_java_objects) .headers $(gcj_java_objects) $(all_platforms) PalmOS bin/org/xwt/builtin.xwar
+.SILENT: new-release update-build $(jikes_java_objects) .headers $(gcj_java_objects) $(all_platforms) PalmOS bin/org/xwt/builtin.xwar
 
 compile: $(jikes_java_objects) bin/org/xwt/builtin.xwar
 
@@ -52,6 +52,15 @@ clean:
        find . -name \*~ | xargs rm -f
        find . -name \#\*\# | xargs rm -f
 
+update-build:
+       (echo -n 0000; (echo "10k16o16i"; cat next.build | tr a-z A-Z; echo "1+f") | dc) | tail --bytes=5 > next.build-
+       mv next.build- next.build
+       echo -n "Next build will be "
+       cat next.build
+       echo committing...
+       cvs commit -m 'updated next.build' next.build
+       echo committed.
+
 
 ## GCJ-Derived Platforms #######################################################################
 
@@ -125,3 +134,36 @@ PalmOS:
        echo "PalmOS is not yet supported"
        false
 
+
+## dist.xwt.org ############################################################################
+
+current_build         := $(shell cat next.build)
+
+new-release:
+       test `uname -n` = gosset.megacz.com || \
+               (echo -e "um, new-release is only intended for use on xwt.org...\nedit the Makefile if you really know what you're doing."; false)
+       echo "***********************************************************"
+       echo "*  This build is $(current_build)"
+       echo "***********************************************************"
+
+       make --silent update-build
+       (make --silent new-release-private &> .make-new-release.out) || \
+               (cat .make-new-release.out | mail -s "Build $(current_build) FAILED" cvs@xwt.org; false)
+       cat .make-new-release.out | \
+               mail -s "Unsigned binaries of build $(current_build) are now available" cvs@xwt.org
+
+new-release-private:
+       # preserve gcc across builds so we don't have to remake it
+       mv gcc/Makefile Makefile.gcc
+       mkdir -p ~/dist.xwt.org-gcc
+       rm -rf gcc
+       ln -s ~/dist.xwt.org-gcc gcc
+       mv Makefile.gcc gcc/Makefile
+
+       # build it
+       nice -n 19 make all
+
+       cp bin-Java2/xwt.jar /var/www/dist.xwt.org/xwt-$(current_build).jar.unsigned
+       cp bin-Win32/xwt.exe /var/www/dist.xwt.org/xwt-$(current_build).exe.unsigned
+       cp bin-Linux/xwt.linux /var/www/dist.xwt.org/xwt-$(current_build).linux.unsigned
+