ifeq ($(platform),)
# default
-platform := JVM
+platform := Java2
endif
target_Darwin := powerpc-apple-darwin
target_Linux := i686-pc-linux-gnu
target := $(target_$(platform))
-all: JVM Linux Win32 Darwin Solaris
+all: Java2 Linux Win32 Darwin Solaris
clean: ; rm -rf build
dist-clean:
libwing_Solaris += upstream/install/sparc-sun-solaris2.7/lib/libWINGs.a
libwing_Solaris += upstream/install/sparc-sun-solaris2.7/lib/libwraster.a
-JVM: build/JVM/ibex.jar
+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"
target_bin_extension_$(platform) := $(shell echo $(platform) | tr A-Z a-z)
target_bin_extension_Win32 := exe
-target_bin_extension_JVM := jar
+target_bin_extension_Java2 := jar
target_bin_extension := $(target_bin_extension_$(platform))
target_bin := ibex.$(target_bin_extension)
plat_classes_AWT := org.ibex.plat.AWT
plat_classes_Java2 := org.ibex.plat.Java2 $(plat_classes_AWT)
-plat_classes_JVM := $(plat_classes_Java2)
plat_classes_GCJ := org.ibex.plat.GCJ
plat_classes_Win32 := org.ibex.plat.Win32 $(plat_classes_GCJ)
plat_classes_POSIX := org.ibex.plat.POSIX $(plat_classes_GCJ)
plat_classes_Solaris := org.ibex.plat.Solaris $(plat_classes_X11)
plat_classes_Darwin := org.ibex.plat.Darwin org.ibex.plat.OpenGL $(plat_classes_POSIX)
-bleh:; @echo $(plat_classes_$(platform))
-java_src_sources := $(patsubst %,src/%.java,$(subst .,/,$(plat_classes_$(platform))))
-java_src_sources += $(shell find src -name '*.java' | grep -v Preprocessor | grep -v /plat/)
+plat_java_src_sources := $(patsubst %,build/java/%.java,$(subst .,/,$(plat_classes_$(platform))))
+java_src_sources := $(shell find src -name '*.java' | grep -v Preprocessor | grep -v /plat/)
+java_src_sources += $(plat_java_src_sources)
java_sources := $(patsubst src/%.java, build/java/%.java, $(java_src_sources))
+
java_sources += build/java/org/xwt/mips/Errno.java
java_sources += build/java/org/xwt/mips/Unistd.java
java_sources += build/java/org/xwt/mips/Syscalls.java
### Java Source Files ##############################################################################
+ifeq ($(platform),Java2)
+.preprocessor: src/org/ibex/util/Preprocessor.java src/org/ibex/util/Vec.java src/gnu/regexp/*.java
+ @make .jikes
+ @mkdir -p build/class/org/ibex/util build/class/gnu/regexp
+ ./.jikes $^ -d build/class
+ @touch $@
+else
.preprocessor: src/org/ibex/util/Preprocessor.java src/org/ibex/util/Vec.java src/gnu/regexp/*.java
@mkdir -p build/class/org/ibex/util build/class/gnu/regexp
$(gcj) -Isrc -C $^ -d build/class
@touch $@
+endif
build/cc/%.cc: src/%.c ; @echo linking $@; mkdir -p $(@D); ln -fs `echo $(@D)/ | sed 's_[^/]*//*_../_g'`/$< $@
build/res/%: src/% ; @echo linking $@; mkdir -p $(@D); ln -fs `echo $(@D)/ | sed 's_[^/]*//*_../_g'`/$< $@
build/java/org/ibex/%.java: src/org/ibex/%.java .preprocessor
compile: .compile
.compile: .install_mips2java .download_bcel-5.1 $(java_sources) $(java_classes); touch $@
-ifeq ($(platform),JVM)
-build/class/%.class: build/java/%.java .jikes
+ifeq ($(platform),Java2)
+build/class/%.class: build/java/%.java .preprocessor .jikes
@echo -e "\n\033[1mcompiling .java -> .class: $<\033[0m"
- rm -rf build/class
mkdir -p build/class
- @./.jikes $(java_sources) -d build/class
+ @./.jikes $< -d build/class
else
build/class/%.class: build/java/%.java
@echo -e "\n\033[1mcompiling .java -> .class: $<\033[0m"
$(gcj) -I$(bcel_jar) -C -O0 $< -d build/class
endif
-build/JVM/ibex.jar: build/res/builtin.jar build/class/org/ibex/translators/MIPSApps.class
- @echo -e "\n\033[1marchiving .class -> .jar: build/JVM/ibex.jar\033[0m"
- mkdir -p build/JVM
- echo -e "Manifest-Version: 1.0\nMain-Class: org.ibex.Main\n" > build/JVM/.manifest
+build/Java2/ibex.jar: .compile build/res/builtin.jar build/class/org/ibex/translators/MIPSApps.class
+ @echo -e "\n\033[1marchiving .class -> .jar: build/Java2/ibex.jar\033[0m"
+ mkdir -p build/Java2
+ echo -e "Manifest-Version: 1.0\nMain-Class: org.ibex.Main\n" > build/Java2/.manifest
cd build/class/org/ibex; ln -sf ../../../res/builtin.jar
- cd build/class; $(jar) cfm ../JVM/ibex.jar ../JVM/.manifest \
+ cd build/class; $(jar) cfm ../Java2/ibex.jar ../Java2/.manifest \
`find . \! -type d` \
$(patsubst %,../../upstream/mips/build/org/xwt/mips/%*.class, Runtime Registers Syscalls Errno)
cd build/res/fonts/vera; ln -fs ../../../../upstream/vera-1.10/ttf-bitstream-vera-1.10/VeraSe.ttf
build/res/builtin.jar: $(builtin_src:src/%=build/res/%) build/res/fonts/vera
@echo -e "\n\033[1mzipping res/* -> .jar: builtin.jar\033[0m"
- cd build/res; $(jar) cf builtin.jar org/ibex/builtin/scar.png
+ cd build/res; $(jar) cf builtin.jar org/ibex/builtin/scar.png fonts
build/$(platform)/builtin.o: build/res/builtin.jar
@echo -e "\n\033[1mwrapping .jar -> .o: resources.o\033[0m"
@mkdir -p $(@D)
current_build := $(shell cat next.build)
strip_$(platform) := upstream/install/$(target)/bin/strip build/$(platform)/$(target_bin) -o
-strip_JVM := cp build/$(platform)/$(target_bin)
+strip_Java2 := cp build/$(platform)/$(target_bin)
install-dist:; $(strip_$(platform)) /var/www/org/xwt/dist/master/ibex-$(current_build).$(target_bin_extension).unsigned
dist: compile
(echo -n 0000; (echo "10k16o16i"; cat next.build | tr a-z A-Z; echo "1+f") | dc) | tail --bytes=5 > next.build-
make install-dist platform=Linux
make install-dist platform=Solaris
make install-dist platform=Darwin
- make install-dist platform=JVM
+ make install-dist platform=Java2
echo -e "\n\n\n*** DONE ******************************************"
propose-patch: