X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=484c0274d6a314cc4dbea587b610d0e69011d0a2;hb=a580fb8376d315d05e4d6bfdff9ff1101a151cd6;hp=8a48fe061f5744d2e553d2d82463e32e72733c79;hpb=4f6cdef7d4f7d72ffe6efb87bbb69bd15f43b41a;p=org.ibex.tool.git diff --git a/Makefile b/Makefile index 8a48fe0..484c027 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,55 @@ -sources = $(shell find src -name \*.java) -classes = $(sources:src/%.java=build/%.class) +i = jar/org.ibex +default: $i.doc $i.gcclass $i.core -default: org.ibex.tool.jar +# 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 -org.ibex.tool.jar: $(classes) - @echo "Archiving org.ibex.tool.jar" - @echo "Main-Class: org.ibex.tool.Compiler" > .manifest - @jar -cmf .manifest org.ibex.tool.jar \ - `find build -name \*.class | sed 's_^\([^/]*\)/_ -C \1 _'` \ - `find src -name \*.rsc | sed 's_^\([^/]*\)/_ -C \1 _'` \ - `find src -name \*.properties | sed 's_^\([^/]*\)/_ -C \1 _'` \ +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 $@ -$(classes): $(sources) - @mkdir -p build - @echo "Compiling org.ibex.tool" - @javac -sourcepath java -d build -source 1.3 -target 1.1 \ - $(sources) +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 -n "Fetching $*: "; \ + darcs get -q --repo repo/$*- \ + http://`echo $* | sed 's_\([^.]*\).\([^.]*\).\([^.]*\)_\3.\2.\1_'`; mv repo/$*- repo/$*; true) -clean: +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 +