- build/$(platform)/ibex.jar:upstream/install/share/java/libgcj-3.3.jar -o build/pruned
-# rm -rf out/java/awt
-# rm -f out/java/lang/*.*
-# rm -f out/java/lang/reflect/*
-# mkdir -p out/java/lang/ref
-# mkdir -p out/java/lang/reflect
-# cp upstream/gcc-3.3/src/libjava/java/lang/*.java out/java/lang/
-# cp upstream/gcc-3.3/src/libjava/java/lang/ref/*.java out/java/lang/ref/
-# cp upstream/gcc-3.3/src/libjava/java/lang/reflect/*.java out/java/lang/reflect/
- rm -rf build/pruned/org/ibex/js/*; cp build/java/org/ibex/js/* build/pruned/org/ibex/js/
- rm build/pruned/java/lang/System.class
- 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 \
- echo compiling $$A....; \
- ../../upstream/install/bin/$(target)-gcj -w -c -fCLASSPATH=../../build/class $$A && \
+ build/$(platform)/ibex.jar:upstream/install/share/java/libgcj-3.3.jar \
+ -o build/pruned \
+ `cat .natcalls`
+
+ 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 \
+
+ 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 && \