initial release
[wix.git] / Makefile
1 ghcroot = /usr/local/brian/ghc
2 pwd     = $(shell pwd)
3 ghc     = $(ghcroot)/compiler/ghc-inplace -fallow-undecidable-instances -fallow-overlapping-instances
4 ghc    += -fglasgow-exts -cpp -hidir $(pwd)/build/hi -i$(pwd)/build/hi -odir $(pwd)/build/class/ 
5 ghclibs = $(ghcroot)/rts/HSrts.jar:$(ghcroot)/libraries/base/HSbase.jar:$(ghcroot)/libraries/stm/HSstm.jar
6
7 java =  java -Xmx800m
8 java += $(profile) -cp $(ghclibs):lib/edu.berkeley.sbp.jar:build/class
9
10 run: build/class/Main.class build/class/Tib.class
11         $(java) HaskellHelper xt html
12
13 install: build/class/Main.class build/class/Tib.class
14         $(java) HaskellHelper xt/ ~/www/
15
16 install2: build/class/Main.class build/class/Tib.class
17 #       $(java) HaskellHelper xt/slipway/ ~/www/slipway/
18 #       $(java) HaskellHelper xt/research/ ~/www/research/
19 #       $(java) HaskellHelper xt/research.cs.berkeley.edu/ ~/www/research.cs.berkeley.edu/
20 #       $(java) HaskellHelper xt/random/ ~/www/random/
21 #       $(java) HaskellHelper xt/otherpeople/ ~/www/otherpeople/
22 #       $(java) HaskellHelper xt/sbp ~/www/sbp
23         $(java) HaskellHelper xt/software/wix ~/www/software/wix
24 #       $(java) HaskellHelper xt/thoughts ~/www/thoughts
25 #       $(java) HaskellHelper xt2 ~/
26
27 docs:
28         $(java) HaskellHelper xt2/docs/ ~/docs/
29
30 debug: build/class/Main.class build/class/Tib.class
31         $(java) -Dsbp.verbose=true HaskellHelper xt html
32
33 wix.jar: build/class/Main.class build/class/Tib.class
34         rm -rf tmp
35         mkdir tmp
36         cd build/class; for A in $(ghcroot)/rts/HSrts.jar $(ghcroot)/libraries/base/HSbase.jar $(ghcroot)/libraries/stm/HSstm.jar ../../lib/edu.berkeley.sbp.jar; \
37           do jar xvf $$A; done
38         echo 'Main-Class: HaskellHelper' > build/manifest
39         cd build/class; jar cvmf ../manifest ../../wix.jar .
40
41 build/class/Tib.class: $(shell find src -name \*.java)
42         javac -d build/class -cp lib/edu.berkeley.sbp.jar $(shell find src -name \*.java)
43
44 build/class/Main.class: $(shell find src -name \*.lhs)
45         mkdir -p build/class/Text/PrettyPrint
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.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 clean:; rm -rf build