this does not work
[org.ibex.core.git] / Makefile
index 3acc98c..fc64298 100644 (file)
--- 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
@@ -253,14 +252,18 @@ 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 \
-#                              -fmerge-all-constants \
+       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 \
+                               $$A &&                     \
+                               (mkdir -p ../../build/$(platform)/`dirname $$A`; mv *.o ../../build/$(platform)/`dirname $$A`); \
+               done
 
+#                              -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....;                           \
@@ -270,6 +273,15 @@ build/$(platform)/$(target_bin): upstream/jpeg-6b/build-$(target)/libjpeg.a
                                $$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
 
@@ -283,16 +295,16 @@ build/$(platform)/$(target_bin): upstream/jpeg-6b/build-$(target)/libjpeg.a
                $(shell pwd)/upstream/install/$(target)/bin/ar cq        \
                        $(shell pwd)/build/$(platform)/natibex.a         \
                        `cat $(shell pwd)/.natbins`
-# -O2,--relax,
        PATH=upstream/install/bin:$$PATH upstream/install/bin/$(target)-gcj          \
-               -Wl,--no-gc-sections,--noinhibit-exec                                \
+               -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                                               \
+               -Wl,--no-whole-archive,--gc-sections                                 \
                build/$(platform)/natibex.a                                          \
                upstream/jpeg-6b/build-$(target)/libjpeg.a                           \
                $(link_flags)                                                        \