update Makefile
[wix.git] / Makefile
1 sbp     = $(shell pwd)/sbp/
2
3 lambdavm_jars  = $(ghcroot)/rts/HSrts.jar
4 lambdavm_jars += $(ghcroot)/libraries/base/HSbase.jar
5 lambdavm_jars += $(ghcroot)/libraries/stm/HSstm.jar
6
7 ghcroot = /usr/local/brian/ghc
8 pwd     = $(shell pwd)
9 ghc     = $(ghcroot)/compiler/ghc-inplace -fallow-undecidable-instances -fallow-overlapping-instances
10 ghc    += -fglasgow-exts -cpp -hidir $(pwd)/build/hi -i$(pwd)/build/hi -odir $(pwd)/build/class/ 
11 ghclibs = $(ghcroot)/rts/HSrts.jar:$(ghcroot)/libraries/base/HSbase.jar:$(ghcroot)/libraries/stm/HSstm.jar
12
13 java =  java -Xmx800m
14 java += $(profile) -cp src:$(ghclibs):$(sbp)/edu.berkeley.sbp.jar:build/class
15
16 wix   = $(java) HaskellHelper
17
18 install: build/class/Main.class build/class/Tib.class
19         aklog hcoop.net
20         aklog research.cs.berkeley.edu
21         $(wix) ~/wix/src/ ~/wix/dest/
22 docs:
23         $(wix) xt2/docs/ ~/docs/
24
25 $(sbp):
26         darcs get --partial --repo-name=$@ http://research.cs.berkeley.edu/project/sbp/edu.berkeley.sbp 
27
28 $(sbp)/edu.berkeley.sbp.jar: $(sbp)
29         cd $(sbp); make edu.berkeley.sbp.jar
30
31 wix.jar: build/class/Main.class build/class/Tib.class $(sbp)/edu.berkeley.sbp.jar
32         rm -rf tmp
33         mkdir tmp
34         cd build/class; for A in $(lambdavm_jars) $(sbp)/edu.berkeley.sbp.jar; \
35           do jar xvf $$A; done
36         echo 'Main-Class: HaskellHelper' > build/manifest
37         cp src/*.g build/class/
38         cd build/class; jar cvmf ../manifest ../../wix.jar .
39
40 build/class/Tib.class: $(shell find src -name \*.java) $(sbp)/edu.berkeley.sbp.jar
41         javac -d build/class -cp $(sbp)/edu.berkeley.sbp.jar $(shell find src -name \*.java)
42
43 build/class/Main.class: $(shell find src -name \*.lhs) $(sbp)/edu.berkeley.sbp.jar
44         mkdir -p build/class/Text/PrettyPrint
45         mkdir -p build/class/edu/berkeley/sbp/haskell/
46         mkdir -p build/hi
47         cd src; $(ghc) -c -java Util.lhs
48         cd src; $(ghc) -c -java Text/PrettyPrint/Leijen.hs
49         cd src; $(ghc) -c -java $(sbp)/src/edu/berkeley/sbp/haskell/SBP.lhs
50         cd src; $(ghc) -c -java FromTree.lhs
51         cd src; $(ghc) -c -java Doc.lhs
52         cd src; $(ghc) -c -java Html.lhs
53         cd src; $(ghc) -c -java Wix.lhs
54         cd src; $(ghc) -c -java Main.lhs
55
56 echojava:; echo $(java)
57
58 clean:; rm -rf build