more uniorm handling of javac
[org.ibex.core.git] / Makefile
index 7ad18db..4779d99 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -33,12 +33,12 @@ libwing_Solaris := -Lupstream/install/sparc-sun-solaris2.7/lib/
 libwing_Solaris +=   upstream/install/sparc-sun-solaris2.7/lib/libWINGs.a
 libwing_Solaris +=   upstream/install/sparc-sun-solaris2.7/lib/libwraster.a
 
-Java2:        build/Java2/ibex.jar
-JVM:; make Java2
-Linux:    ; make gcj platform=Linux   link_flags="$(libwing_Linux) -lXpm -lX11 -lXext"
-Solaris:  ; make gcj platform=Solaris link_flags="$(libwing_Solaris) -lXpm -lX11 -lXext -lpthread"
-Win32:    ; make gcj platform=Win32   link_flags="-Wl,--subsystem,windows -lcomdlg32"
-Darwin:   ; make gcj platform=Darwin  link_flags="$(darwin_linker_flags)"
+Java2:      build/Java2/ibex.jar
+JVM:;       @make Java2
+Linux:    ; @make gcj platform=Linux   link_flags="$(libwing_Linux) -lXpm -lX11 -lXext"
+Solaris:  ; @make gcj platform=Solaris link_flags="$(libwing_Solaris) -lXpm -lX11 -lXext -lpthread"
+Win32:    ; @make gcj platform=Win32   link_flags="-Wl,--subsystem,windows -lcomdlg32"
+Darwin:   ; @make gcj platform=Darwin  link_flags="$(darwin_linker_flags)"
 
 darwin_libdir       := upstream/install/powerpc-apple-darwin/lib
 darwin_linker_flags := -Wl,-dylib_file,/usr/lib/libSystem.B.dylib:$(darwin_libdir)/libSystem.B.dylib
@@ -54,7 +54,6 @@ target_bin_extension_Java2       := jar
 target_bin_extension             := $(target_bin_extension_$(platform))
 target_bin                       := ibex.$(target_bin_extension)
 
-javac   := javac -classpath upstream/bcel-5.1/src/bcel-5.1.jar:build/class -d build/class/ -sourcepath build/java/:upstream/mips:upstream/mips/build:src
 gcc_optimizations  := -Os
 #gcc_optimizations  := -O9 -ffast-math -fomit-frame-pointer -foptimize-sibling-calls
 #gcc_optimizations  += -finline-functions -funroll-loops -ffunction-sections -fdata-sections
@@ -69,9 +68,14 @@ g++                := upstream/install/bin/$(target)-gcj $(gcc_flags) -Iupstream
 gcc                := upstream/install/bin/$(target)-gcc $(gcc_flags)
 nm                 := upstream/install/$(target)/bin/nm
 jar                := $(shell ((type fastjar &>/dev/null) && echo fastjar) || echo jar)
+ifeq ($(platform),Java2)
+javac   := javac -classpath upstream/bcel-5.1/src/bcel-5.1.jar   -d build/class/ -sourcepath build/java/
+else
+javac   := $(gcj) -fCLASSPATH=upstream/bcel-5.1/src/bcel-5.1.jar -d build/class/          -Ibuild/java -Iupstream/gnu.regexp-1.1.4/src/src -C
+endif
 
 gcj: .install_gcc-3.3_$(target)
-       make build/$(platform)/$(target_bin) link_flags="$(link_flags)" platform=$(platform)
+       @make build/$(platform)/$(target_bin) link_flags="$(link_flags)" platform=$(platform)
 
 include Makefile.upstream
 
@@ -110,6 +114,8 @@ java_sources              += build/java/org/xwt/mips/UsermodeConstants.java
 java_classes              := $(java_sources:build/java/%.java=build/class/%.class)
 java_classes              += build/class/gnu/regexp/CharUnit.class build/class/gnu/regexp/IntPair.class
 
+.PRECIOUS: $(java_classes) $(java_sources) *.java
+
 ### Java Source Files ##############################################################################
 
 build/java/gnu/regexp: .download_gnu.regexp-1.1.4