resolve ambiguity between urls and email addresses
[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 args  = 
22
23 install: wix.jar
24         aklog research.cs.berkeley.edu || true
25         $(scala) -cp wix.jar:lib/edu.berkeley.sbp.jar Main $(args) ~/docs/wix/src/ ~/docs/wix/dest/
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 force:; make install args='-f'
33
34 docs:
35         $(wix) xt2/docs/ ~/docs/
36
37 $(sbp):
38         darcs get --partial --repo-name=$@ http://research.cs.berkeley.edu/project/sbp/edu.berkeley.sbp 
39
40 $(sbp)/edu.berkeley.sbp.jar: $(sbp)
41         cd $(sbp); make edu.berkeley.sbp.jar
42
43 wix.jar: $(shell find src -name \*.java -or -name \*.scala)
44         rm -rf build
45         mkdir build
46         javac -cp lib/edu.berkeley.sbp.jar -d build `find src -name \*.java`
47         scalac -deprecation -cp lib/edu.berkeley.sbp.jar -sourcepath src -d build `find src -name \*.scala`
48         echo 'Main-Class: Main' > build/manifest
49         cp src/*.g build/
50         cd build; jar cvmf manifest ../wix.jar .
51
52 build/class/Tib.class: $(shell find src -name \*.java) lib/edu.berkeley.sbp.jar
53         javac -d build/class -cp lib/edu.berkeley.sbp.jar $(shell find src -name \*.java)
54
55 build/class/Main.class: $(shell find src -name \*.lhs) lib/edu.berkeley.sbp.jar
56         mkdir -p build/class/Text/PrettyPrint
57         mkdir -p build/class/edu/berkeley/sbp/haskell/
58         mkdir -p build/hi
59         cd src; $(ghc) -c Util.lhs
60         cd src; $(ghc) -c Text/PrettyPrint/Leijen.hs
61         cd src; $(ghc) -c $(sbp)/src/edu/berkeley/sbp/haskell/SBP.lhs
62         cd src; $(ghc) -c FromTree.lhs
63         cd src; $(ghc) -c Doc.lhs
64         cd src; $(ghc) -c Html.lhs
65         cd src; $(ghc) -c Wix.lhs
66         cd src; $(ghc) -c Main.lhs
67
68 echojava:; echo $(java)
69
70 clean:; rm -rf build