add \Box
[wix.git] / Makefile
index 9966c34..cbf8c61 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -6,64 +6,65 @@ 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
+ghc     = $(ghcroot)/compiler/ghc-inplace -fallow-undecidable-instances -fallow-overlapping-instances -java
+#ghc     = ghc -fallow-undecidable-instances -fallow-overlapping-instances -package javavm
 ghc    += -fglasgow-exts -cpp -hidir $(pwd)/build/hi -i$(pwd)/build/hi -odir $(pwd)/build/class/ 
 ghclibs = $(ghcroot)/rts/HSrts.jar:$(ghcroot)/libraries/base/HSbase.jar:$(ghcroot)/libraries/stm/HSstm.jar
 
-java =  java -Xmx800m
-java += $(profile) -cp $(ghclibs):$(sbp)/edu.berkeley.sbp.jar:build/class
+jvmargs = -Xmx800m -XX:ThreadStackSize=160000
 
-$(sbp):
-       darcs get --repo-name=$@ http://research.cs.berkeley.edu/project/sbp/edu.berkeley.sbp 
+java =  java $(jvmargs) $(profile) -cp src:$(ghclibs):$(sbp)/edu.berkeley.sbp.jar:build/class
 
-$(sbp)/edu.berkeley.sbp.jar: $(sbp)
-       cd $(sbp); make edu.berkeley.sbp.jar
+scala = JAVA_OPTS="$(jvmargs)" scala
 
-run: build/class/Main.class build/class/Tib.class
-       $(java) HaskellHelper xt html
+wix   = $(java) HaskellHelper
+args  = 
 
-install: build/class/Main.class build/class/Tib.class
-       $(java) HaskellHelper xt/ ~/www/
+install: wix.jar
+       aklog research.cs.berkeley.edu || true
+       $(scala) -cp wix.jar:lib/edu.berkeley.sbp.jar Main $(args) ~/docs/wix/src/ ~/docs/wix/dest/
+# --delete disabled until I can keep it from clobbering GArrow.v
+       rsync -arL --rsync-path=/usr/sww/bin/rsync \
+               --progress --verbose \
+               ~/docs/wix/dest/cs.berkeley.edu/ \
+               login.eecs.berkeley.edu:public_html/
 
-install2: build/class/Main.class build/class/Tib.class
-#      $(java) HaskellHelper xt/slipway/ ~/www/slipway/
-#      $(java) HaskellHelper xt/research/ ~/www/research/
-#      $(java) HaskellHelper xt/research.cs.berkeley.edu/ ~/www/research.cs.berkeley.edu/
-#      $(java) HaskellHelper xt/random/ ~/www/random/
-#      $(java) HaskellHelper xt/otherpeople/ ~/www/otherpeople/
-#      $(java) HaskellHelper xt/sbp ~/www/sbp
-       $(java) HaskellHelper xt/software/wix ~/www/software/wix
-#      $(java) HaskellHelper xt/thoughts ~/www/thoughts
-#      $(java) HaskellHelper xt2 ~/
+force:; make install args='-f'
 
 docs:
-       $(java) HaskellHelper xt2/docs/ ~/docs/
+       $(wix) xt2/docs/ ~/docs/
+
+$(sbp):
+       darcs get --partial --repo-name=$@ http://research.cs.berkeley.edu/project/sbp/edu.berkeley.sbp 
 
-debug: build/class/Main.class build/class/Tib.class
-       $(java) -Dsbp.verbose=true HaskellHelper xt html
+$(sbp)/edu.berkeley.sbp.jar: $(sbp)
+       cd $(sbp); make edu.berkeley.sbp.jar
 
-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 $(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 .
+wix.jar: $(shell find src -name \*.java -or -name \*.scala)
+       rm -rf build
+       mkdir build
+       javac -cp lib/edu.berkeley.sbp.jar -d build `find src -name \*.java`
+       scalac -deprecation -cp lib/edu.berkeley.sbp.jar -sourcepath src -d build `find src -name \*.scala`
+       echo 'Main-Class: Main' > build/manifest
+       cp src/*.g build/
+       cd build; jar cvmf manifest ../wix.jar .
 
-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/Tib.class: $(shell find src -name \*.java) lib/edu.berkeley.sbp.jar
+       javac -d build/class -cp lib/edu.berkeley.sbp.jar $(shell find src -name \*.java)
 
-build/class/Main.class: $(shell find src -name \*.lhs) $(sbp)/edu.berkeley.sbp.jar
+build/class/Main.class: $(shell find src -name \*.lhs) lib/edu.berkeley.sbp.jar
        mkdir -p build/class/Text/PrettyPrint
-       mkdir -p build/class/Edu/Berkeley/SBP/Haskell/
+       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)/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
-       cd src; $(ghc) -c -java Wix.lhs
-       cd src; $(ghc) -c -java Main.lhs
+       cd src; $(ghc) -c Util.lhs
+       cd src; $(ghc) -c Text/PrettyPrint/Leijen.hs
+       cd src; $(ghc) -c $(sbp)/src/edu/berkeley/sbp/haskell/SBP.lhs
+       cd src; $(ghc) -c FromTree.lhs
+       cd src; $(ghc) -c Doc.lhs
+       cd src; $(ghc) -c Html.lhs
+       cd src; $(ghc) -c Wix.lhs
+       cd src; $(ghc) -c Main.lhs
+
+echojava:; echo $(java)
 
 clean:; rm -rf build
\ No newline at end of file