2003/09/29 00:04:26
[org.ibex.core.git] / Makefile
index 0f7ec9b..63f32a3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,8 +7,8 @@
 all:      JVM Linux Win32 Darwin Solaris
 
 clean:
-       rm -rf .jikes .configure* .install* build .compile
-       find upstream -name config.cache | xargs rm
+       rm -rf .jikes .configure* .install* build .compile .build*
+       find upstream -name config.cache -exec rm {} \;
 
 JVM:        build/JVM/xwt.jar
 Linux:    ; make gcj platform=Linux   target=i686-pc-linux-gnu    link_flags="-lX11 -lXext"
@@ -140,7 +140,7 @@ $(target_bin): build/$(platform)/org/xwt/plat/$(platform).cc.o upstream/jpeg-6b/
 #
 
 builtin_src := $(shell find src/org/xwt/builtin -name '*.*')
-build/res/builtin.jar: $(builtin_src:src/%=build/res/%) build/res/freetype.mips
+build/res/builtin.jar: $(builtin_src:src/%=build/res/%) build/res/freetype.mips build/res/libmspack.mips
        @echo -e "\n\033[1mzipping            res/* -> .jar: builtin.jar\033[0m"
        cd build/res; $(jar) cf builtin.jar $(^:build/res/%=%)
 
@@ -156,7 +156,7 @@ build/$(platform)/builtin.o: build/res/builtin.jar
 
 # compile is here to force compilation of the .class files (they get used via -Ibuild) without
 # having the individual .o's depend on the .java's (otherwise every .o gets recompiled when one .java changes)
-gcj: .vendor .install_gcc-3.3_$(target) $(target_bin)
+gcj: .vendor .compile .install_gcc-3.3_$(target) $(target_bin)
 
 build/JVM/xwt.jar: .compile build/res/builtin.jar
        @echo -e "\n\033[1marchiving         .class -> .jar:   build/JVM/xwt.jar\033[0m"
@@ -193,6 +193,22 @@ build/res/freetype.mips: build/mips/org/xwt/translators/Freetype.c.o build/mips/
                --strip \
                -lfreetype
 
+build/res/libmspack.mips: build/mips/org/xwt/translators/MSPack.c.o build/mips/org/xwt/mips/crt0.c.o build/mips/org/xwt/mips/syscalls.c.o
+       make .install_libmspack-20030726_mips-unknown-elf target=mips-unknown-elf
+       @echo -e "\n\033[1mlinking               .o -> .mips:  $@\033[0m"
+       mkdir -p build/mips build/res
+       upstream/install/bin/mips-unknown-elf-gcc \
+               -nostdlib \
+               --static \
+               -march=mips1 \
+               -T src/org/xwt/mips/linker.ld \
+               -Lbuild/mips \
+               -Lupstream/libmspack-20030726/build-mips-unknown-elf/ \
+               -o $@ \
+               build/mips/org/xwt/translators/MSPack.c.o \
+               --strip \
+               -lmspack
+
 
 
 
@@ -242,10 +258,6 @@ this_branch_flag      := $(shell test $(this_branch) = HEAD && echo || echo -r $
 
 # pre-depend on compile as a sanity check
 dist: compile
-       # this will fail if we haven't checked-in since the comment is null; we want this.
-       cvs commit -m '' > /dev/null
-       cvs tag -F xwt-$(current_build)
-
        echo "***********************************************************"
        echo "*  This build is $(current_build)"
        echo "***********************************************************"
@@ -256,6 +268,10 @@ dist: compile
                tail -n 200 .make-dist.out | \
                        mail -s "Unsigned binaries of $(current_build) are now available" cvs@xwt.org
         else
+               # this will fail if we haven't checked-in since the comment is null; we want this.
+               cvs commit -m '' > /dev/null
+               cvs tag -F xwt-$(current_build)
+
 #              echo -e 'export JAVA_HOME=/usr/lib/j2sdk1.4\n cd /home/xwt\n date=`date +%d-%b-%H%M`\n mkdir xwt-$$date\n cd xwt-$$date\n /usr/bin/cvs -d /cvs co $(this_branch_flag) xwt\n mv xwt/* .\n mv xwt/.* .\n rmdir xwt\n touch .make-dist.out\n nohup make dist &\n echo\n cat .make-dist.out' | ssh xwt@xwt.org | grep -v "make...:.\(Entering\|Leaving\).directory"
                echo -e 'export JAVA_HOME=/usr/lib/j2sdk1.4\n cd /home/xwt/dist\n/usr/bin/cvs update $(this_branch_flag)\ntouch .make-dist.out\n make clean\n nohup make dist &\n' | ssh xwt@xwt.org | grep -v "make...:.\(Entering\|Leaving\).directory"
         endif