totally new file layout
[org.ibex.tool.git] / Makefile
1 i = jar/.org.ibex
2 default: $i.core $i.mail
3
4 # dependencies
5 $i.util:
6 $i.crypto:   $i.util
7 $i.io:       $i.util
8 $i.classgen: $i.util jar/bcel.jar
9 $i.gcclass:  $i.util jar/bcel.jar
10 $i.nestedvm: $i.util jar/bcel.jar
11 $i.net:      $i.util $i.io        $i.crypto
12 $i.doc:      $i.util $i.io
13 $i.js:       $i.util $i.io $i.net
14 $i.jinetd:   $i.util $i.io $i.net $i.crypto $i.js
15 $i.mail:     $i.util $i.io $i.net $i.crypto $i.js $i.jinetd jar/prevayler.jar
16 $i.core:     $i.util $i.io $i.net $i.crypto $i.js                         $i.nestedvm
17
18 jar/.%: jar/org.ibex.tool.jar
19         @make -s repo/$*
20         @echo "Building        $*"
21         @cd repo/$*; java -Djava.ext.dirs=../../jar -jar ../../jar/org.ibex.tool.jar -s 1.5 -t 1.2 -v -w -j $*.jar src
22         @mv repo/$*/$*.jar jar/
23         @touch $@
24
25 jar/bcel.jar:
26         @curl http://mirrors.mix5.com/apache/jakarta/bcel/binaries/bcel-5.1.tar.gz | tar -xzf - bcel-5.1/bcel-5.1.jar
27         @mv bcel-5.1/bcel-5.1.jar jar/bcel.jar
28         @rmdir bcel-5.1
29
30 jar/prevayler.jar:
31         @curl http://voxel.dl.sourceforge.net/sourceforge/prevayler/prevayler-2.02.005.tar.gz | \
32                 tar -xzf - prevayler-2.02.005/prevayler-2.02.005.jar
33         @mv prevayler-2.02.005/prevayler-2.02.005.jar jar/prevayler.jar
34         @rmdir prevayler-2.02.005
35
36 repo/%:
37         @test -e $* || (echo "Fetching        $*"; \
38                          darcs get -q --repo repo/$*-   \
39                                 http://`echo $* | sed 's_\([^.]*\).\([^.]*\).\([^.]*\)_\3.\2.\1_'`; mv repo/$*- repo/$*; true)
40
41 jar/org.ibex.tool.jar:
42         @mkdir -p build
43         @mkdir -p jar
44         @echo "Building        org.ibex.tool"
45         @javac -sourcepath java -d build -source 1.3 -target 1.1 $(shell find repo/org.ibex.tool/src -name \*.java)
46         @echo "Bootstrapping   org.ibex.tool"
47         @java -cp repo/org.ibex.tool/src:build \
48                 org.ibex.tool.Compiler -v \
49                         -j jar/org.ibex.tool.jar \
50                         -m org.ibex.tool.Compiler \
51                         repo/org.ibex.tool/src
52         @cd repo/org.ibex.tool/src; jar -uf ../../../jar/org.ibex.tool.jar `find . -name \*.rsc -or -name \*.properties`
53         @echo "Cleaning        org.ibex.tool"
54         @rm -rf build
55