# Oops, this requires gnu make now. DVI=writeup.dvi PS=prettycode.ps CLASSPATH=.:./bnlearn.jar # JAVA=java -ea -Xmx512M JAVA=java -ea JAVAC=javac -source 1.4 all: part3 project3: hacking doc: $(DVI) OURJAVA=BNData.java BNUtils.java MLEstimate.java part1.java \ BNStructure.java BNOp.java MoveType.java part2.java part3.java \ HashableAssignment.java OURCLASSES=$(OURJAVA:.java=.class) # Weird testing needed after enscript because it exits with status 2 # when lines are wrapped. (which isn't actually a problem for us) prettycode.ps: $(OURJAVA) enscript -G2r --color=emacs -Ejava -M Letter -o$@ $(OURJAVA) ; \ retcode=$$? ; [ $$retcode = 0 ] || [ $$retcode = 2 ] || false estBcpts.tex: part1.class $(OURCLASSES) $(JAVA) -classpath $(CLASSPATH) part1 part3: part3.class $(OURCLASSES) $(JAVA) -classpath $(CLASSPATH) part3 part2: part2.class $(OURCLASSES) $(JAVA) -classpath $(CLASSPATH) part2 test: test-ve test-lw test-gibbs hacking: hacking.class $(OURCLASSES) $(JAVA) -classpath $(CLASSPATH) hacking .java.class: $(JAVAC) -g -classpath $(CLASSPATH) $< clean: rm -f *.dvi *.class .tex.dvi: latex $< report1.dvi: report1.tex $(shell ( grep '\\input{' report1.tex \; grep '\\epsfbox{' *.tex ) | sed -e 's/%.*$$//' -e 's/.*{//g' -e 's/}.*//g' ) report2.dvi: report2.tex $(shell grep '\\input{' report2.tex | sed -e 's/%.*$$//' -e 's/.*{//g' -e 's/}.*//g' -e 's/\(\.tex\)*$$/.tex/' \; grep '\\includegraphics{' *.tex | sed -e 's/%.*$$//' -e 's/.*{//g' -e 's/}.*/.ps/g' ) @# Run latex twice to get label references right latex report2.tex && latex report2.tex @echo @echo "========= Anything after this line is a problem ==========" @echo ; grep FIXME *.tex || true figures-new.tex: genfigures.pl rm figures-new.tex ; ./genfigures.pl > figures-new.tex writeup.dvi: genfigures.pl $(shell ls *.tex | grep -v estBcpts ) @# Run latex twice to get label references right latex writeup.tex && latex writeup.tex @echo @echo "========= Anything after this line is a problem ==========" @echo ; grep FIXME *.tex || true .dvi.ps: dvips -o $@ $< .SUFFIXES: .java .class .dvi .tex .ps .PHONY:: all doc project3 test example # .PRECIOUS: %.txt