X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=b6055501076419591fab94407a7f93a1b9426ab4;hb=a726bd527e6364dd00477e17e9c688d32509c62c;hp=e8781fe1a54a4b8760dab3b9e8d3a16d1a8e61da;hpb=81685cb13767207ee4da542c214cc98e8cfbdc08;p=org.ibex.core.git diff --git a/Makefile b/Makefile index e8781fe..b605550 100644 --- a/Makefile +++ b/Makefile @@ -203,8 +203,13 @@ build/$(platform)/$(platform).ar: $(nonplat_java_sources:build/java/%.java=build upstream/jpeg-6b/build-$(target)/libjpeg.a: .install_jpeg-6b_$(target) # note: binaries appear in a different order in the dependency line vs the link line -build/$(platform)/$(target_bin): .compile build/$(platform)/builtin.o build/$(platform)/org/ibex/plat/$(platform).cc.o upstream/jpeg-6b/build-$(target)/libjpeg.a +build/$(platform)/$(target_bin): upstream/jpeg-6b/build-$(target)/libjpeg.a @echo -e "\n\033[1mlinking .o -> $(target_bin)\033[0m" + + rm -rf build/$(platform)/* + make build/$(platform)/org/ibex/plat/$(platform).cc.o + make build/$(platform)/builtin.o + cd upstream/gcc-3.3/build-$(target)/$(target)/libjava; \ (find . -name nat\*.o | grep -v JIS; \ echo boehm.o;\ @@ -219,15 +224,14 @@ build/$(platform)/$(target_bin): .compile build/$(platform)/builtin.o build/$(pl find java gnu -name \*.o -not -name '*[A-Z]*'; \ ) > $(shell pwd)/.natbins -# drop gnu regexp library? + cd upstream/gcc-3.3/build-$(target)/$(target)/libjava;\ - cat $(shell pwd)/.natbins | grep -v shs | grep -v SHS |xargs nm |\ + (cat $(shell pwd)/.natbins; echo $(shell pwd)/build/$(platform)/org/ibex/plat/$(platform).cc.o) |\ + grep -v shs | grep -v SHS |xargs nm |\ grep _ZN | c++filt --format java | grep " U " | sed 's_\.class\$$_.class_' | sed 's_ * U __' | sed 's_(.*__' \ > $(shell pwd)/.natcalls -# make $(java_sources) rm -rf build/pruned; mkdir -p build/pruned -# rm -rf build/pruned; cd build; ln -s class pruned javac -classpath lib/bcel-5.1.jar:build/class -d build/class src/org/ibex/util/BytecodePruner.java rm -f build/$(platform)/ibex.jar cd build/class; \ @@ -242,49 +246,20 @@ build/$(platform)/$(target_bin): .compile build/$(platform)/builtin.o build/$(pl -o build/pruned \ `cat .natcalls` -# rm -rf build/pruned/org/ibex/js/*; cp build/java/org/ibex/js/* build/pruned/org/ibex/js/ - - rm -f build/pruned/java/lang/System.* - cp upstream/gcc-3.3/src/libjava/java/lang/System.java build/pruned/java/lang/ - -# rm build/pruned/gnu/gcj/runtime/FirstThread*.* -# cp upstream/gcc-3.3/src/libjava/gnu/gcj/runtime/FirstThread.java build/pruned/gnu/gcj/runtime/ - rm build/pruned/org/ibex/plat/GCJ*.class cp build/java/org/ibex/plat/GCJ.java build/pruned/org/ibex/plat/ - - rm -rf build/Linux/java - rm -rf build/Linux/gnu/gcj - rm -rf build/Linux/gnu/java - rm -rf build/Linux/gnu/classpath - -# find build/pruned/gnu/java/locale/ -name 'LocaleInformation_*' -not -name 'LocaleInformation_en.class' -not -name 'LocaleInformation_en_US.class' -exec rm {} \; - -# cd build/pruned; fastjar cvf ../../tmp.jar . -# java -jar lib/jarg.jar -verbose -verbosern -verboseufm -normlv -normsf -normsy -normin \ -# -nornc -nornf -nornm \ -# -normex -nobco tmp.jar -# cd build/pruned; rm -rf *; fastjar xvf ../../tmp_s.jar - cp upstream/gcc-3.3/build-$(target)/$(target)/libjava/java/lang/Object.class build/pruned/java/lang/ + rm -f build/pruned/java/lang/System*.* + cp upstream/gcc-3.3/src/libjava/java/lang/System.java build/pruned/java/lang/ + # -fnew-ra \ # -ffunction-sections \ # -fdata-sections \ # -fomit-frame-pointer \ # -fno-force-mem \ # -fno-force-addr \ -# -fbranch-probabilities \ -# -fno-schedule-insns \ -# -fno-optimize-sibling-calls \ -# -fno-if-conversion \ -# -fno-thread-jumps \ -# -foptimize-static-class-initialization \ -# -fno-store-check \ -# -fno-bounds-check \ # -fmerge-all-constants \ -# -fno-inline-functions \ -# -finline-limit=1 \ cd build/pruned; \ for A in `find . -name \*.class -or -name \*.java`; do \ @@ -296,31 +271,32 @@ build/$(platform)/$(target_bin): .compile build/$(platform)/builtin.o build/$(pl (mkdir -p ../../build/$(platform)/`dirname $$A`; mv *.o ../../build/$(platform)/`dirname $$A`); \ done -# rm -rf build/Linux/java/security build/Linux/gnu/java/security build/Linux/java/util/jar build/Linux/java/io/Object* -# rm -rf build/pruned/java/security build/pruned/gnu/java/security build/pruned/java/util/jar build/pruned/java/io/Object* - rm -f build/$(platform)/ibex.a cd upstream/gcc-3.3/build-$(target)/$(target)/libjava; \ $(shell pwd)/upstream/install/$(target)/bin/ar cq \ $(shell pwd)/build/$(platform)/ibex.a \ - `find $(shell pwd)/build/$(platform) -name \*.o` \ + `find $(shell pwd)/build/$(platform) -name \*.o` + + rm -f build/$(platform)/natibex.a + cd upstream/gcc-3.3/build-$(target)/$(target)/libjava; \ + $(shell pwd)/upstream/install/$(target)/bin/ar cq \ + $(shell pwd)/build/$(platform)/natibex.a \ `cat $(shell pwd)/.natbins` -# --relax,-O2,--no-whole-archive, PATH=upstream/install/bin:$$PATH upstream/install/bin/$(target)-gcj \ - -Wl,--no-gc-sections,--noinhibit-exec,-rpath,upstream/install/$(target)/lib \ - -Wl,-nostdlib,--eh-frame-hdr,-m,elf_i386,-dynamic-linker,/lib/ld-linux.so.2 \ + -Wl,-O2,--relax,--gc-sections,--noinhibit-exec \ --main=org.ibex.plat.$(platform) \ -Lupstream/install/$(target)/lib \ -Lupstream/install/lib \ -Os -w \ + -Wl,--whole-archive \ build/$(platform)/ibex.a \ + -Wl,--no-whole-archive \ + build/$(platform)/natibex.a \ upstream/jpeg-6b/build-$(target)/libjpeg.a \ $(link_flags) \ upstream/gcc-3.3/build-$(target)/$(target)/boehm-gc/.libs/libgcjgc.a \ - -lz -ldl -lgcc -lm -lpthread -ldl -lgcc -lc -lgcc \ - upstream/install/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3/crtend.o \ - upstream/install/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3/../../../../i686-pc-linux-gnu/lib/crtn.o \ + -lz -ldl \ -o $@ # strip build/Linux/ibex.linux # ls -l build/Linux/ibex.linux