way better
[org.ibex.core.git] / Makefile
index 7f3c4dc..b376eba 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -253,58 +253,63 @@ build/$(platform)/$(target_bin): upstream/jpeg-6b/build-$(target)/libjpeg.a
        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 gnu/gcj java/lang java/net -name \*.class -or -name \*.java`; do    \
+                       echo compiling $$A....;                           \
+                       ../../upstream/install/bin/$(target)-gcj          \
+                               -w -c -Os \
+                               -fCLASSPATH=../../build/$(platform)/ibex.jar \
+                               -fassume-compiled          \
+                               $$A &&                     \
+                               (mkdir -p ../../build/$(platform)/`dirname $$A`; mv *.o ../../build/$(platform)/`dirname $$A`); \
+               done
 
+       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 \
+                               -fassume-compiled          \
+                               -ffunction-sections \
+                               -fdata-sections \
+                               -fomit-frame-pointer \
+                               -fno-force-mem \
+                               -fno-force-addr \
+                               -fmerge-all-constants \
                                -fCLASSPATH=../../build/$(platform)/ibex.jar \
                                $$A &&                     \
                                (mkdir -p ../../build/$(platform)/`dirname $$A`; mv *.o ../../build/$(platform)/`dirname $$A`); \
                done
+#                              -fnew-ra \
 
        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 \
+               -Wl,--whole-archive                                                  \
                build/$(platform)/ibex.a                                             \
-               -Wl,--no-whole-archive \
+               -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