-#
+#
# The XWT Makefile
#
## 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
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"
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.
.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)
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) || \
+ (tail -n 200 .make-dist.out | mail -s "Build $(current_build) FAILED" cvs@xwt.org; false))
+
+ (test `uname -n` = gosset.megacz.com) && \
+ (tail -n 200 .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