2003/02/28 04:50:57
[org.ibex.core.git] / Makefile
index 0b2db24..00cda34 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,7 @@ gcj                    := $(gcc_path)/bin/$(target)-gcj $(gcj_flags) $(gcc_flags
 gcc                    := $(gcc_path)/bin/$(target)-g++ $(gcc_flags)
 gcjh                   := $(gcc_path)/bin/$(target)-gcjh
 ar                     := $(gcc_path)/$(target)/bin/ar
+strip                  := $(gcc_path)/$(target)/bin/strip
 jikes                  := jikes -extdirs ${JAVA_HOME}/jre/lib -nowarn
 
 # platforms
@@ -41,6 +42,7 @@ compile: $(jikes_java_objects) bin/org/xwt/builtin.xwar
 all: $(all_platforms)
 
 $(jikes_java_objects): $(jikes_java_sources)
+       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/
@@ -76,7 +78,7 @@ $(shell pwd)/gcc/bin/$(target)-gcj:
 
 gcj: compile $(gcc_path)/bin/$(target)-gcj .headers link
 
-link: $(gcj_java_objects) $(cc_objects)
+link: $(gcj_java_objects) $(cc_objects) bin-$(platform)/org/xwt/builtin.o
        echo "linking       .o -> $(target_bin)"
        $(ar) r bin-$(platform)/org/xwt/plat/platform.ar bin-$(platform)/org/xwt/plat/*.o
        $(gcj) --main=org.xwt.Main -o bin-$(platform)/$(target_bin) $^ $(platform_link) bin-$(platform)/org/xwt/plat/platform.ar
@@ -101,8 +103,8 @@ $(cc_objects): bin-$(platform)/%-nat.o: src/%.cc
        echo -ne "compiling  .cc -> .o:     $$A"
        $(gcc) -Ibin -c $< -o $@
 
-bin-$(platform)/org/xwt/builtin.xwar: $(xwar_sources)
-       echo "archiving   .xwt -> .xwar"
+bin-$(platform)/org/xwt/builtin.o: bin/org/xwt/builtin.xwar
+       echo "wrapping   .xwar -> .o"
        $(gcj) --resource org/xwt/builtin.xwar -c $< -o $@
 
 
@@ -145,29 +147,28 @@ PalmOS:
        false
 
 
-## dist.xwt.org ############################################################################
+## master.dist.xwt.org ############################################################################
 
 current_build         := $(shell cat next.build)
 
 dist:
        # this will fail if we haven't checked-in since the comment is null; we want this.
-#      cvs commit -m '' > /dev/null
+       cvs commit -m '' > /dev/null
 
        echo "***********************************************************"
        echo "*  This build is $(current_build)"
        echo "***********************************************************"
 
-       (test `uname -n` = gosset.megacz.com) || \
+        ifeq ($(shell uname -n),gosset.megacz.com)
+               (make $(silent) dist-private 2>&1) >> .make-dist.out || \
+                       (tail -n 200 .make-dist.out | mail -s "Build $(current_build) FAILED" cvs@xwt.org; false)
+               tail -n 200 .make-dist.out | \
+                       mail -s "Unsigned binaries of $(current_build) are now available" cvs@xwt.org
+        else
                ssh xwt@xwt.org verbose=$(verbose) /home/xwt/dist \
                        | grep -v "make...:.\(Entering\|Leaving\).directory"
+        endif
 
-       (test `uname -n` = gosset.megacz.com) && \
-               (make $(silent) dist-private 2>> .make-dist.out >> .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
@@ -183,16 +184,16 @@ dist-private:
        nice -n 19 make all
 
        echo
-       echo === dist.xwt.org ==================================
+       echo === master.dist.xwt.org ==================================
 
        echo "copying xwt.jar to distribution area..."
-       cp bin-Java2/xwt.jar /var/www/dist.xwt.org/xwt-$(current_build).jar.unsigned
+       cp bin-Java2/xwt.jar /var/www/master.dist.xwt.org/xwt-$(current_build).jar.unsigned
 
-       echo "copying xwt.exe to distribution area..."
-       cp bin-Win32/xwt.exe /var/www/dist.xwt.org/xwt-$(current_build).exe.unsigned
+       echo "stripping xwt.exe and copying it to the distribution area..."
+       $(strip) bin-Win32/xwt.exe -o /var/www/master.dist.xwt.org/xwt-$(current_build).exe.unsigned
 
        echo "copying xwt.linux to distribution area..."
-       cp bin-Linux/xwt.linux /var/www/dist.xwt.org/xwt-$(current_build).linux.unsigned
+       $(strip) bin-Linux/xwt.linux -o /var/www/master.dist.xwt.org/xwt-$(current_build).linux.unsigned
 
        echo
        echo "*** DONE ******************************************"