rewrite Haskell parts in Scala
[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 -java
10 #ghc     = ghc -fallow-undecidable-instances -fallow-overlapping-instances -package javavm
11 ghc    += -fglasgow-exts -cpp -hidir $(pwd)/build/hi -i$(pwd)/build/hi -odir $(pwd)/build/class/ 
12 ghclibs = $(ghcroot)/rts/HSrts.jar:$(ghcroot)/libraries/base/HSbase.jar:$(ghcroot)/libraries/stm/HSstm.jar
13
14 jvmargs = -Xmx800m -XX:ThreadStackSize=160000
15
16 java =  java $(jvmargs) $(profile) -cp src:$(ghclibs):$(sbp)/edu.berkeley.sbp.jar:build/class
17
18 scala = JAVA_OPTS="$(jvmargs)" scala
19
20 wix   = $(java) HaskellHelper
21
22 install: wix.jar
23         aklog research.cs.berkeley.edu || true
24         $(scala) -cp wix.jar:lib/edu.berkeley.sbp.jar Main ~/docs/wix/src/ ~/docs/wix/dest/
25
26 # --delete disabled until I can keep it from clobbering GArrow.v
27         rsync -arL --rsync-path=/usr/sww/bin/rsync \
28                 --progress --verbose \
29                 ~/docs/wix/dest/cs.berkeley.edu/ \
30                 login.eecs.berkeley.edu:public_html/
31
32 docs:
33         $(wix) xt2/docs/ ~/docs/
34
35 $(sbp):
36         darcs get --partial --repo-name=$@ http://research.cs.berkeley.edu/project/sbp/edu.berkeley.sbp 
37
38 $(sbp)/edu.berkeley.sbp.jar: $(sbp)
39         cd $(sbp); make edu.berkeley.sbp.jar
40
41 wix.jar: $(shell find src -name \*.java -or -name \*.scala)
42         rm -rf build
43         mkdir build
44         javac -cp lib/edu.berkeley.sbp.jar -d build `find src -name \*.java`
45         scalac -deprecation -cp lib/edu.berkeley.sbp.jar -sourcepath src -d build `find src -name \*.scala`
46         echo 'Main-Class: Main' > build/manifest
47         cp src/*.g build/
48         cd build; jar cvmf manifest ../wix.jar .
49
50 build/class/Tib.class: $(shell find src -name \*.java) lib/edu.berkeley.sbp.jar
51         javac -d build/class -cp lib/edu.berkeley.sbp.jar $(shell find src -name \*.java)
52
53 build/class/Main.class: $(shell find src -name \*.lhs) lib/edu.berkeley.sbp.jar
54         mkdir -p build/class/Text/PrettyPrint
55         mkdir -p build/class/edu/berkeley/sbp/haskell/
56         mkdir -p build/hi
57         cd src; $(ghc) -c Util.lhs
58         cd src; $(ghc) -c Text/PrettyPrint/Leijen.hs
59         cd src; $(ghc) -c $(sbp)/src/edu/berkeley/sbp/haskell/SBP.lhs
60         cd src; $(ghc) -c FromTree.lhs
61         cd src; $(ghc) -c Doc.lhs
62         cd src; $(ghc) -c Html.lhs
63         cd src; $(ghc) -c Wix.lhs
64         cd src; $(ghc) -c Main.lhs
65
66 echojava:; echo $(java)
67
68 clean:; rm -rf build