X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=5fb91ffe699b348a43b4d0f31b7d8c0656a56315;hb=c8f04834582049dce7f80507a1b2b6c6210d5c3f;hp=e8781fe1a54a4b8760dab3b9e8d3a16d1a8e61da;hpb=81685cb13767207ee4da542c214cc98e8cfbdc08;p=org.ibex.core.git diff --git a/Makefile b/Makefile index e8781fe..5fb91ff 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,32 +246,13 @@ 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 \ @@ -296,15 +281,17 @@ 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 \ @@ -314,7 +301,10 @@ build/$(platform)/$(target_bin): .compile build/$(platform)/builtin.o build/$(pl -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 \