X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=Makefile;h=fc6429883e505e6eec4630cccb09cf64ca3770a4;hp=bb603af0332a6d05571f769187a665074af9fbd7;hb=a6c4f7b784acf2269c33188982b0d479cc11a0f4;hpb=82605cd4a7e0cb90f4835eeaea23802b1935dcad diff --git a/Makefile b/Makefile index bb603af..fc64298 100644 --- a/Makefile +++ b/Makefile @@ -55,7 +55,7 @@ gcc_optimizations := -O2 #gcc_optimizations := -O9 -ffast-math -fomit-frame-pointer -foptimize-sibling-calls #gcc_optimizations += -finline-functions -funroll-loops -ffunction-sections -fdata-sections -gcc_flags := -nostdinc $(gcc_optimizations) -Ibuild/h -Iupstream/jpeg-6b/src -Iupstream/jpeg-6b/build-$(target) +gcc_flags := -nostdinc $(gcc_optimizations) -Ibuild/h -Iupstream/jpeg-6b/src -Iupstream/jpeg-6b/build-$(target) -g gcc_flags += -Iupstream/install/lib/gcc-lib/$(target)/3.3/include -Iupstream/install/$(target)/include gcj := upstream/install/bin/$(target)-gcj $(gcc_flags) -fCLASSPATH=build/java gcjh := $(shell pwd)/upstream/install/bin/$(shell test -e upstream/install/bin/$(target)-gcjh && echo $(target)-)gcjh @@ -205,7 +205,6 @@ 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): 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 @@ -248,34 +247,13 @@ build/$(platform)/$(target_bin): upstream/jpeg-6b/build-$(target)/libjpeg.a 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 - cp upstream/gcc-3.3/build-$(target)/$(target)/libjava/java/lang/Object.class 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 \ + rm -f build/pruned/java/lang/System*.* + cp upstream/gcc-3.3/src/libjava/java/lang/System.java build/pruned/java/lang/ cd build/pruned; \ - for A in `find . -name \*.class -or -name \*.java`; do \ + for A in `find gnu/gcj java/lang java/net -name \*.class -or -name \*.java`; do \ echo compiling $$A....; \ ../../upstream/install/bin/$(target)-gcj \ -w -c -Os \ @@ -284,31 +262,54 @@ build/$(platform)/$(target_bin): upstream/jpeg-6b/build-$(target)/libjpeg.a (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* +# -fassume-compiled \ + cd build/pruned; rm -rf gnu/gcj java/lang java/net + cd build/pruned; \ + for A in `find . -name \*.class -or -name \*.java`; do \ + echo compiling $$A....; \ + ../../upstream/install/bin/$(target)-gcj \ + -w -c -Os \ + -fCLASSPATH=../../build/$(platform)/ibex.jar \ + $$A && \ + (mkdir -p ../../build/$(platform)/`dirname $$A`; mv *.o ../../build/$(platform)/`dirname $$A`); \ + done +# -fassume-compiled \ +# -finhibit-reflection \ +# -fnew-ra \ +# -ffunction-sections \ +# -fdata-sections \ +# -fomit-frame-pointer \ +# -fno-force-mem \ +# -fno-force-addr \ +# -fmerge-all-constants \ 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) \ + -Dfile.encoding=UTF8 \ -Lupstream/install/$(target)/lib \ -Lupstream/install/lib \ -Os -w \ + -Wl,--whole-archive \ build/$(platform)/ibex.a \ + -Wl,--no-whole-archive,--gc-sections \ + 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