i = jar/.org.ibex default: $i.core $i.mail # dependencies $i.util: $i.crypto: $i.util $i.io: $i.util $i.classgen: $i.util jar/bcel.jar $i.gcclass: $i.util jar/bcel.jar $i.nestedvm: $i.util jar/bcel.jar $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 repo/%: @test -e $* || (echo "Fetching $*"; \ darcs get -q --repo repo/$*- \ http://`echo $* | sed 's_\([^.]*\).\([^.]*\).\([^.]*\)_\3.\2.\1_'`; mv repo/$*- repo/$*; true) jar/org.ibex.tool.jar: @mkdir -p build @mkdir -p jar @echo "Building org.ibex.tool" @javac -sourcepath java -d build -source 1.3 -target 1.1 $(shell find repo/org.ibex.tool/src -name \*.java) @echo "Bootstrapping org.ibex.tool" @java -cp repo/org.ibex.tool/src:build \ org.ibex.tool.Compiler -v \ -j jar/org.ibex.tool.jar \ -m org.ibex.tool.Compiler \ repo/org.ibex.tool/src @cd repo/org.ibex.tool/src; jar -uf ../../../jar/org.ibex.tool.jar `find . -name \*.rsc -or -name \*.properties` @echo "Cleaning org.ibex.tool" @rm -rf build