Makefile: org.ibex.tool.Compiler now bootstraps itself
[org.ibex.tool.git] / Makefile
index dcd5829..f140f36 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,19 @@
-default: $(patsubst src/java/%.java,build/%.class,$(shell find src/java -name \*.java))
-       @cp -R src/rsc/* build/
+sources = $(shell find src -name \*.java)
+classes = $(sources:src/%.java=build/%.class)
 
-build/%.class:
+default: org.ibex.tool.jar
+
+org.ibex.tool.jar: $(classes)
+       @echo "Bootstrapping:    org.ibex.tool.jar"
+       @java -cp src:build org.ibex.tool.Compiler -j org.ibex.tool.jar -m org.ibex.tool.Compiler -v src
+       @echo "Adding resources: org.ibex.tool.jar"
+       @cd src; jar -uf ../org.ibex.tool.jar `find . -name \*.rsc -or -name \*.properties`
+
+$(classes): $(sources)
        @mkdir -p build
-       @echo "Compiling       $(subst /,.,$*)"
-       @javac -sourcepath src/java -d build -source 1.3 -target 1.1 \
-               src/java/$*.java
+       @echo "Compiling:        org.ibex.tool"
+       @javac -sourcepath java -d build -source 1.3 -target 1.1 \
+               $(sources)
 
 clean:
        @rm -rf build