upstream/jpeg-6b/src/%.c: download_jpeg-6b
freetype_sources := ftsystem.c ftmm.c ftbbox.c ftinit.c ftdebug.c ftbase.c ftglyph.c smooth.c sfnt.c truetype.c
-upstream/freetype-2.1.4/%.c: ; make -sC upstream freetype-2.1.4/src
-
-$(gcc_path)/bin/$(target)-gcj: ; make -sC upstream gcc-3.3-$(target)
+upstream/freetype-2.1.4/%.c: download_freetype-2.1.4
# PHASE 1b: human-written inputs
java_sources := $(patsubst src/%.java, build/java/%.java, $(shell find src -name \*.java))
java_sources += $(patsubst src/%.mips.c, build/java/%.java, $(shell find src -name \*.mips.c))
java_sources += build/java/org/xwt/Builtin.java
-
# PHASE 2: ready-to-compile java files (either symlinked to phase 1a sources or else generated from them)
build/java/%.java: src/%.java ; @echo linking $@; mkdir -p $(@D); ln -s `echo $(@D) | sed 's_[^/]*\(/\|$$\)_../_g'`/$< $@
build/cc/%.cc: src/%.c ; @echo linking $@; mkdir -p $(@D); ln -s `echo $(@D) | sed 's_[^/]*\(/\|$$\)_../_g'`/$< $@
@java -cp build/class org.xwt.util.Preprocessor < $< > $@
# PHASE 3: class files
-upstream/.jikes: ; make -sC upstream .jikes
-build/class/%.class: build/java/%.java upstream/.jikes build/class/.
+build/class/%.class: build/java/%.java .jikes
@echo "compiling .java -> .class: $<"
- @upstream/.jikes $<
+ @mkdir -p build/class
+ @./.jikes $<
compile: .compile
-.compile: $(java_sources) build/class/.
+.compile: $(java_sources)
@echo "compiling .java -> .class: src/**/*.java"
- @upstream/.jikes $(java_sources)
+ @mkdir -p build/class
+ @./.jikes $(java_sources)
@touch .compile
# PHASE 4: gcj-generated headers
@rm -f $@
@java -cp build/class org.xwt.imp.MIPS org.xwt.imp.Freetype build/mips/freetype.mips > build/java/org/xwt/imp/Freetype.java
-$(gcc_path)/bin/mips-gcc:
- @make -sC upstream gcc-3.3-mips target=mips
-
build/mips/%.o: src/org/xwt/imp/%.c $(gcc_path)/bin/mips-gcc upstream/.freetype
@mkdir -p build/mips
@echo "compiling $< -> $@ (mips)"
echo "#!/bin/sh" > .jikes
echo 'for A in `find build/class -name \*.class`; do mv $$A $$A.old; done;' >> .jikes
echo -n 'PATH=$$PATH:upstream/install/bin/ jikes -classpath lib/libgcj-minimal.jar $$@ -d build/class/ -sourcepath build/java/ ' >> .jikes
- (type jikes && (jikes --version | grep "Version 1.18")) || make jikes-1.18/src jikes-1.18/.installed
+ (type jikes && (jikes --version | grep "Version 1.18")) || make install_jikes-1.18
echo -n "$(jikes_flags) -bootclasspath " >> .jikes
echo "public class GetBootClassPath { public static void main(String[] s) { " > GetBootClassPath.java
echo "System.out.println(System.getProperty(\"sun.boot.class.path\")); } }" >> GetBootClassPath.java