Index: doc/theses/mubeen_zulfiqar_MMath/Makefile
===================================================================
--- doc/theses/mubeen_zulfiqar_MMath/Makefile	(revision 50d8d4da20d6d81e73415309c28285f6edb2209f)
+++ doc/theses/mubeen_zulfiqar_MMath/Makefile	(revision 659fb7345bc6ddd6f6b0f1e97b9905634a784716)
@@ -1,30 +1,29 @@
-### Makefile from Andrew Beach's Masters Thesis
+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)
+TEXLIB = .:../../LaTeXmacros:${BUILD}: # common latex macros
+BIBLIB = .:../../bibliography # common citation repository
 
-DOC=uw-ethesis.pdf
-BUILD=out
-TEXSRC=$(wildcard *.tex)
-BIBSRC=$(wildcard *.bib)
-STYSRC=$(wildcard *.sty)
-CLSSRC=$(wildcard *.cls)
-TEXLIB= .:../../LaTeXmacros:${BUILD}:
-BIBLIB= .:../../bibliography
-
-# 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
+.PHONY: all clean
 
 ### Commands:
-LATEX=TEXINPUTS=${TEXLIB} pdflatex -halt-on-error -output-directory=${BUILD}
-BIBTEX=BIBINPUTS=${BIBLIB} bibtex
+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} Makefile | ${BUILD}
 	${LATEX} ${BASE}
 	${BIBTEX} ${BUILD}/${BASE}
@@ -33,13 +32,23 @@
 #	${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}
-
-deepclean: clean
-	-@rm -v ${DOC}
+	@rm -frv ${DOC} ${BUILD} *.fig.bak
