Index: doc/theses/andrew_beach_MMath/Makefile
===================================================================
--- doc/theses/andrew_beach_MMath/Makefile	(revision 79c14d6f1ed3e70159b0d70352c5ad63944eb790)
+++ doc/theses/andrew_beach_MMath/Makefile	(revision 4c4e444f4eaf11309c7a94a97b5b9b50be2a54fc)
@@ -1,30 +1,34 @@
 ### Makefile for Andrew Beach's Masters Thesis
 
-DOC=uw-ethesis.pdf
-BUILD=out
-TEXSRC=$(wildcard *.tex)
-BIBSRC=$(wildcard *.bib)
-STYSRC=$(wildcard *.sty)
-CLSSRC=$(wildcard *.cls)
-TEXLIB= .:../../LaTeXmacros:${BUILD}:
-BIBLIB= .:../../bibliography
+DOC = uw-ethesis.pdf
+BASE = ${DOC:%.pdf=%} # remove suffix
+# directory for latex clutter files
+BUILD = build
+TEXSRC = $(wildcard *.tex)
+FIGSRC = $(wildcard *.fig)
+BIBSRC = $(wildcard *.bib)
+STYSRC = $(wildcard *.sty)
+CLSSRC = $(wildcard *.cls)
+TEXLIB = .:../../LaTeXmacros:${BUILD}: # common latex macros
+BIBLIB = .:../../bibliography # common citation repository
 
-# Since tex programs like to add their own file extensions:
-BASE= ${DOC:%.pdf=%}
+MAKEFLAGS = --no-print-directory # --silent
+VPATH = ${BUILD}
 
 ### Special Rules:
 
 .PHONY: all clean deepclean
+.PRECIOUS: %.dvi %.ps # do not delete intermediate files
 
 ### Commands:
-LATEX=TEXINPUTS=${TEXLIB} pdflatex -halt-on-error -output-directory=${BUILD}
-BIBTEX=BIBINPUTS=${BIBLIB} bibtex
-GLOSSARY=INDEXSTYLE=${BUILD} makeglossaries-lite
+LATEX = TEXINPUTS=${TEXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${BUILD}
+BIBTEX = BIBINPUTS=${BIBLIB} bibtex
+GLOSSARY = INDEXSTYLE=${BUILD} makeglossaries-lite
 
-### Rules and Recipies:
+### Rules and Recipes:
 
 all: ${DOC}
 
-${BUILD}/${DOC}: ${TEXSRC} ${BIBSRC} ${STYSRC} ${CLSSRC} Makefile | ${BUILD}
+${BUILD}/%.dvi: ${TEXSRC} ${FIGSRC:.fig=.tex} ${BIBSRC} ${STYSRC} ${CLSSRC} Makefile | ${BUILD}
 	${LATEX} ${BASE}
 	${BIBTEX} ${BUILD}/${BASE}
@@ -33,13 +37,26 @@
 	${LATEX} ${BASE}
 
-${DOC}: ${BUILD}/${DOC}
-	cp $< $@
-
 ${BUILD}:
 	mkdir $@
 
+%.pdf : ${BUILD}/%.ps | ${BUILD}
+	ps2pdf $<
+
+%.ps : %.dvi | ${BUILD}
+	dvips $< -o $@
+
+%.tex : %.fig | ${BUILD}
+	fig2dev -L eepic $< > ${BUILD}/$@
+
+%.ps : %.fig | ${BUILD}
+	fig2dev -L ps $< > ${BUILD}/$@
+
+%.pstex : %.fig | ${BUILD}
+	fig2dev -L pstex $< > ${BUILD}/$@
+	fig2dev -L pstex_t -p ${BUILD}/$@ $< > ${BUILD}/$@_t
+
 clean:
-	-@rm -rv ${BUILD}
+	@rm -frv ${BUILD} *.fig.bak
 
 deepclean: clean
-	-@rm -v ${DOC}
+	-@rm -fv ${DOC}
