checkpoint
[wix.git] / Makefile
index 007ac4b..9966c34 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,9 @@
+sbp     = $(shell pwd)/sbp/
+
+lambdavm_jars  = $(ghcroot)/rts/HSrts.jar
+lambdavm_jars += $(ghcroot)/libraries/base/HSbase.jar
+lambdavm_jars += $(ghcroot)/libraries/stm/HSstm.jar
+
 ghcroot = /usr/local/brian/ghc
 pwd     = $(shell pwd)
 ghc     = $(ghcroot)/compiler/ghc-inplace -fallow-undecidable-instances -fallow-overlapping-instances
@@ -5,7 +11,13 @@ ghc    += -fglasgow-exts -cpp -hidir $(pwd)/build/hi -i$(pwd)/build/hi -odir $(p
 ghclibs = $(ghcroot)/rts/HSrts.jar:$(ghcroot)/libraries/base/HSbase.jar:$(ghcroot)/libraries/stm/HSstm.jar
 
 java =  java -Xmx800m
-java += $(profile) -cp $(ghclibs):lib/edu.berkeley.sbp.jar:build/class
+java += $(profile) -cp $(ghclibs):$(sbp)/edu.berkeley.sbp.jar:build/class
+
+$(sbp):
+       darcs get --repo-name=$@ http://research.cs.berkeley.edu/project/sbp/edu.berkeley.sbp 
+
+$(sbp)/edu.berkeley.sbp.jar: $(sbp)
+       cd $(sbp); make edu.berkeley.sbp.jar
 
 run: build/class/Main.class build/class/Tib.class
        $(java) HaskellHelper xt html
@@ -30,23 +42,24 @@ docs:
 debug: build/class/Main.class build/class/Tib.class
        $(java) -Dsbp.verbose=true HaskellHelper xt html
 
-wix.jar: build/class/Main.class build/class/Tib.class
+wix.jar: build/class/Main.class build/class/Tib.class $(sbp)/edu.berkeley.sbp.jar
        rm -rf tmp
        mkdir tmp
-       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; \
+       cd build/class; for A in $(lambdavm_jars) ../../$(sbp)/edu.berkeley.sbp.jar; \
          do jar xvf $$A; done
        echo 'Main-Class: HaskellHelper' > build/manifest
        cd build/class; jar cvmf ../manifest ../../wix.jar .
 
-build/class/Tib.class: $(shell find src -name \*.java)
-       javac -d build/class -cp lib/edu.berkeley.sbp.jar $(shell find src -name \*.java)
+build/class/Tib.class: $(shell find src -name \*.java) $(sbp)/edu.berkeley.sbp.jar
+       javac -d build/class -cp $(sbp)/edu.berkeley.sbp.jar $(shell find src -name \*.java)
 
-build/class/Main.class: $(shell find src -name \*.lhs)
+build/class/Main.class: $(shell find src -name \*.lhs) $(sbp)/edu.berkeley.sbp.jar
        mkdir -p build/class/Text/PrettyPrint
+       mkdir -p build/class/Edu/Berkeley/SBP/Haskell/
        mkdir -p build/hi
        cd src; $(ghc) -c -java Util.lhs
        cd src; $(ghc) -c -java Text/PrettyPrint/Leijen.hs
-       cd src; $(ghc) -c -java SBP.lhs
+       cd src; $(ghc) -c -java $(sbp)/src/edu/berkeley/sbp/haskell/SBP.lhs
        cd src; $(ghc) -c -java FromTree.lhs
        cd src; $(ghc) -c -java Doc.lhs
        cd src; $(ghc) -c -java Html.lhs