X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=Makefile;h=e8bb2c09d01d6bd79420ddb76389ef91902b393c;hp=31c65fd89dc579b182c4b23bbc494b673f9c939e;hb=8dc6899b7793bffc0943b27dd66f224656eacf2e;hpb=bcbccfdf9fca3f3970771f9d0ce25d7221e2904e diff --git a/Makefile b/Makefile index 31c65fd..e8bb2c0 100644 --- a/Makefile +++ b/Makefile @@ -18,12 +18,12 @@ target := $(target_$(platform)) all: Java2 Linux Win32 Darwin Solaris -clean: ; rm -rf build; rm .preprocessor +clean: ; rm -rf build; rm build/class/org/ibex/util/Preprocessor.class dist-clean: rm -rf .configure* .install* build .compile .build* find upstream -name config.cache -exec rm {} \; - test -e upstream/nestedvm && make -C upstream/nestedvm clean - rm .install_nestedvm + test -e upstream/org.ibex.nestedvm && make -C upstream/org.ibex.nestedvm clean + rm .install_org.ibex.nestedvm libwing_Linux := -Lupstream/install/i686-pc-linux-gnu/lib/ libwing_Linux += upstream/install/i686-pc-linux-gnu/lib/libWINGs.a @@ -54,7 +54,6 @@ target_bin_extension_Java2 := jar target_bin_extension := $(target_bin_extension_$(platform)) target_bin := ibex.$(target_bin_extension) -javac := javac -classpath upstream/bcel-5.1/src/bcel-5.1.jar:build/class -d build/class/ -sourcepath build/java/:upstream/mips:upstream/mips/build:src gcc_optimizations := -Os #gcc_optimizations := -O9 -ffast-math -fomit-frame-pointer -foptimize-sibling-calls #gcc_optimizations += -finline-functions -funroll-loops -ffunction-sections -fdata-sections @@ -69,6 +68,11 @@ g++ := upstream/install/bin/$(target)-gcj $(gcc_flags) -Iupstream gcc := upstream/install/bin/$(target)-gcc $(gcc_flags) nm := upstream/install/$(target)/bin/nm jar := $(shell ((type fastjar &>/dev/null) && echo fastjar) || echo jar) +ifeq ($(platform),Java2) +javac := javac -classpath upstream/bcel-5.1/src/bcel-5.1.jar -d build/class/ -sourcepath build/java/ +else +javac := $(gcj) -fCLASSPATH=upstream/bcel-5.1/src/bcel-5.1.jar -d build/class/ -Ibuild/java -Iupstream/gnu.regexp-1.1.4/src/src -C +endif gcj: .install_gcc-3.3_$(target) @make build/$(platform)/$(target_bin) link_flags="$(link_flags)" platform=$(platform) @@ -114,59 +118,48 @@ java_classes += build/class/gnu/regexp/CharUnit.class build/class/g ### Java Source Files ############################################################################## -build/java/gnu/regexp: .download_gnu.regexp-1.1.4 - mkdir -p $(@D); cd $(@D); ln -sf ../../../upstream/gnu.regexp-1.1.4/src/src/gnu/regexp -build/java/org/xwt/mips: .download_nestedvm - mkdir -p $(@D); cd $(@D); ln -sf ../../../../upstream/nestedvm/src/org/xwt/mips -build/java/org/ibex/crypto: .download_org.ibex.crypto - mkdir -p $(@D); cd $(@D); ln -sf ../../../../upstream/org.ibex.crypto/src/org/ibex/crypto - mkdir -p build/java/org/ibex/net; - cd build/java/org/ibex/net; ln -sf ../../../../../upstream/org.ibex.crypto/src/org/ibex/net/SSL.java - cd build/java/org/ibex/net; ln -sf ../../../../../upstream/org.ibex.crypto/src/org/ibex/net/ssl - -ifeq ($(platform),Java2) -.preprocessor: build/java/gnu/regexp src/org/ibex/util/Preprocessor.java src/org/ibex/util/Vec.java build/java/org/xwt/mips build/java/org/ibex/crypto - - @mkdir -p build/class/org/ibex/util build/class/gnu/regexp - $(javac) src/org/ibex/util/Preprocessor.java src/org/ibex/util/Vec.java build/java/gnu/regexp/*.java -d build/class - @touch $@ -else -.preprocessor: build/java/gnu/regexp src/org/ibex/util/Preprocessor.java src/org/ibex/util/Vec.java build/java/org/xwt/mips build/java/org/ibex/crypto - @mkdir -p build/class/org/ibex/util build/class/gnu/regexp - $(gcj) -Isrc -C src/org/ibex/util/Preprocessor.java src/org/ibex/util/Vec.java build/java/gnu/regexp/*.java -d build/class - @touch $@ -endif build/cc/%.cc: src/%.c ; @echo linking $@; mkdir -p $(@D); ln -fs `echo $(@D)/ | sed 's_[^/]*//*_../_g'`/$< $@ build/res/%: src/% ; @echo linking $@; mkdir -p $(@D); ln -fs `echo $(@D)/ | sed 's_[^/]*//*_../_g'`/$< $@ -build/java/org/ibex/%.java: src/org/ibex/%.java .preprocessor - @echo -e "\n\033[1mpreprocessing .java -> .java: $<\033[0m" - mkdir -p `dirname $@`; java -cp build/class:build/java org.ibex.util.Preprocessor < $^ > $@ -build/java/%.java: src/%.java ; @echo linking $@; mkdir -p $(@D); ln -fs `echo $(@D)/ | sed 's_[^/]*//*_../_g'`/$< $@ +build/java/org/ibex/%.java: src/org/ibex/%.java build/class/org/ibex/util/Preprocessor.class + @echo -e "\033[1mpreprocessing .java -> .java: $<\033[0m" + @mkdir -p `dirname $@`; java -cp build/class:upstream/gnu.regexp-1.1.4/src/src org.ibex.util.Preprocessor < $< > $@ + +upstream/org.ibex.crypto/%.java:; @make -s .download_org.ibex.crypto &>/dev/null +upstream/org.ibex.nestedvm/%.java:; @make -s .download_org.ibex.nestedvm &>/dev/null +link_upstream = build/java/$(1): $(2)/$(1); +link_upstream += @echo -e "\033[1mlinking .java -> .java: $$< -> $$@\033[0m"; +link_upstream += mkdir -p $$(@D); +link_upstream += ln -fs `echo $$(@D)/ | sed 's_[^/]*//*_../_g'`/$$< $$@ +$(call link_upstream,org/xwt/mips/%.java,upstream/org.ibex.nestedvm/src,.download_org.ibex.nestedvm) +$(call link_upstream,org/ibex/crypto/%.java,upstream/org.ibex.crypto/src,.download_org.ibex.crypto) +$(call link_upstream,org/ibex/net/ssl/%.java,upstream/org.ibex.crypto/src,.download_org.ibex.crypto) +$(call link_upstream,org/ibex/net/SSL.java,upstream/org.ibex.crypto/src,.download_org.ibex.crypto) +$(call link_upstream,gnu/regexp/%.java,upstream/gnu.regexp-1.1.4/src/src) +$(call link_upstream,%.java,src) +$(call link_upstream,%.cc,src) -### Java Class Files ############################################################################## -build/class/org/ibex/util/MIPSApps.class: build/mips/mipsapps.mips .install_nestedvm - mkdir -p build/java/org/ibex/util - @echo -e "\n\033[1mtranslating .mips -> .class: $<\033[0m" - java -cp upstream/nestedvm/build:upstream/nestedvm/upstream/build/bcel-5.1/bcel-5.1.jar \ - org.xwt.mips.Compiler org.ibex.util.MIPSApps $< -outfile $@ -#-o onepage,pagesize=8m +### Java Class Files ############################################################################## compile: .compile -.compile: .download_nestedvm .download_bcel-5.1 $(java_sources) $(java_classes); touch $@ +.compile: .download_org.ibex.nestedvm .download_bcel-5.1 $(java_sources) $(java_classes); touch $@ -ifeq ($(platform),Java2) -build/class/%.class: build/java/%.java .preprocessor +build/class/org/ibex/util/Preprocessor.class: src/org/ibex/util/Preprocessor.java src/org/ibex/util/Vec.java .download_gnu.regexp-1.1.4 @echo -e "\n\033[1mcompiling .java -> .class: $<\033[0m" - mkdir -p build/class - @$(javac) $< -d build/class -else -build/class/%.class: build/java/%.java + @mkdir -p build/class/org/ibex/util build/class/gnu/regexp build/java build/class + $(javac) src/org/ibex/util/Preprocessor.java src/org/ibex/util/Vec.java upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/*.java + +build/class/org/ibex/util/MIPSApps.class: build/mips/mipsapps.mips .install_org.ibex.nestedvm + @mkdir -p build/java/org/ibex/util + @echo -e "\n\033[1mtranslating .mips -> .class: $<\033[0m" + java -cp upstream/org.ibex.nestedvm/build:upstream/org.ibex.nestedvm/upstream/build/bcel-5.1/bcel-5.1.jar \ + org.xwt.mips.Compiler org.ibex.util.MIPSApps $< -outfile $@ + +$(java_classes): build/class/org/ibex/util/Preprocessor.class $(java_sources) @echo -e "\n\033[1mcompiling .java -> .class: $<\033[0m" - mkdir -p $(@D) - $(gcj) -I$(bcel_jar) -C -O0 $< -d build/class -endif + @mkdir -p build/java build/class + $(javac) $(java_sources) -d build/class build/Java2/ibex.jar: .compile build/res/builtin.jar build/class/org/ibex/util/MIPSApps.class @echo -e "\n\033[1marchiving .class -> .jar: build/Java2/ibex.jar\033[0m" @@ -179,7 +172,6 @@ build/Java2/ibex.jar: .compile build/res/builtin.jar build/class/org/ibex/util/M ### Headers ################################################################################## java_headers := $(java_sources:build/java/%.java=build/h/%.h) -build/h/edu/stanford/ejalbert/BrowserLauncher.h:; mkdir -p $(@D); touch $@ build/h/%.h: build/class/%.class .compile @echo -e "\n\033[1mextracting .class -> .h: $<\033[0m" mkdir -p `dirname $@` @@ -308,7 +300,7 @@ build/$(platform)/builtin.o: build/res/builtin.jar echo "};") > .builtin.c $(gcc) -c .builtin.c -o build/$(platform)/builtin.o -build/mips/%.c.o: src/%.c .download_libmspack-20030726 .install_nestedvm +build/mips/%.c.o: src/%.c .download_libmspack-20030726 .install_org.ibex.nestedvm make .install_freetype-2.1.4_mips-unknown-elf target=mips-unknown-elf make .install_libmspack-20030726_mips-unknown-elf target=mips-unknown-elf mkdir -p $(@D)