-build/%.class:
- @mkdir -p build
- @echo "Compiling $(subst /,.,$*)"
- @javac -sourcepath src/java -d build -source 1.3 -target 1.1 \
- src/java/$*.java
+# dependencies
+$i.util:
+$i.crypto: $i.util
+$i.io: $i.util
+$i.gcclass: $i.util jar/bcel.jar
+$i.classgen: $i.util jar/bcel.jar
+$i.nestedvm: $i.util jar/bcel.jar $i.classgen
+$i.net: $i.util $i.io $i.crypto
+$i.doc: $i.util $i.io
+$i.js: $i.util $i.io $i.net
+$i.jinetd: $i.util $i.io $i.net $i.crypto $i.js
+$i.mail: $i.util $i.io $i.net $i.crypto $i.js $i.jinetd jar/prevayler.jar
+$i.core: $i.util $i.io $i.net $i.crypto $i.js $i.nestedvm
+
+jar/%: jar/org.ibex.tool.jar
+ @make -s repo/$*
+ @echo "Building $*"
+ @cd repo/$*; java -Djava.ext.dirs=../../jar -jar ../../jar/org.ibex.tool.jar -s 1.5 -t 1.2 -v -w -j $*.jar src
+ @mv repo/$*/$*.jar jar/
+ @touch $@
+
+jar/bcel.jar:
+ @curl http://mirrors.mix5.com/apache/jakarta/bcel/binaries/bcel-5.1.tar.gz | tar -xzf - bcel-5.1/bcel-5.1.jar
+ @mv bcel-5.1/bcel-5.1.jar jar/bcel.jar
+ @rmdir bcel-5.1
+
+jar/prevayler.jar:
+ @curl http://voxel.dl.sourceforge.net/sourceforge/prevayler/prevayler-2.02.005.tar.gz | \
+ tar -xzf - prevayler-2.02.005/prevayler-2.02.005.jar
+ @mv prevayler-2.02.005/prevayler-2.02.005.jar jar/prevayler.jar
+ @rmdir prevayler-2.02.005