-compile: .javac .bootclasspath bin/org/xwt/builtin.xwar
- echo "compiling .java -> .class:"
- mkdir -p bin
- $(shell cat .javac) -classpath lib/libgcj-minimal.jar $(java_sources) -d bin/ 2>&1 | \
- grep -v ^\\[read | sed s_^\\[write\ bin/__ | sed s_.class\\]_.java_ | sed "s_^_compiling .java -> .class: src/_"
+compile: .javac $(java_generated_sources) build/xwar/builtin.xwar
+ echo "compiling .java -> .class: [all]"
+ mkdir -p build
+ $(shell cat .javac) -classpath lib/libgcj-minimal.jar $(java_sources) $(java_generated_sources) -d build/ 2>&1 | \
+ grep -v ^\\[read | sed s_^\\[write\ build/__ | sed s_.class\\]_.java_ | sed "s_^_compiling .java -> .class: src/_"
+
+build/%.class: src/%.java .javac
+ @echo "compiling .java -> .class: $<"
+ @mkdir -p build
+ @$(shell cat .javac) -classpath lib/libgcj-minimal.jar $< -d build/ 2>&1 | \
+ grep -v ^\\[read | sed s_^\\[write\ build/__ | sed s_.class\\]_.java_ | sed "s_^_compiling .java -> .class: src/_"
+
+$(java_pp_postproc): build/java/%.java: src/%.java.pp build/org/xwt/util/Preprocessor.class
+ @echo "preprocessing .java.pp -> .java: $<"
+ @mkdir -p `dirname $@`
+ @java -cp build org.xwt.util.Preprocessor < $< > $@