# directory for latex clutter files
Build = build
Figures = figures
Pictures = pictures
TeXSRC = ${wildcard *.tex}
FigSRC = ${notdir ${wildcard ${Figures}/*.fig}}
PicSRC = ${notdir ${wildcard ${Pictures}/*.fig}}
BIBSRC = ${wildcard *.bib}
TeXLIB = .:../../LaTeXmacros:${Build}: # common latex macros
BibLIB = .:../../bibliography # common citation repository

MAKEFLAGS = --no-print-directory # --silent
VPATH = ${Build} ${Figures} ${Pictures} # extra search path for file names used in document

### Special Rules:

.PHONY: all clean
.PRECIOUS: %.dvi %.ps # do not delete intermediate files

### Commands:

LaTeX = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build}
BibTeX = BIBINPUTS=${BibLIB} bibtex
#Glossary = INDEXSTYLE=${Build} makeglossaries-lite

### Rules and Recipes:

DOC = uw-ethesis.pdf
BASE = ${DOC:%.pdf=%} # remove suffix

all: ${DOC}

clean:
	@rm -frv ${DOC} ${Build}

# File Dependencies #

%.dvi : ${TeXSRC} ${FigSRC:%.fig=%.tex} ${PicSRC:%.fig=%.pstex} ${BIBSRC} Makefile | ${Build}
	${LaTeX} ${BASE}
	${BibTeX} ${Build}/${BASE}
	${LaTeX} ${BASE}
	# if nedded, run latex again to get citations
	if fgrep -s "LaTeX Warning: Citation" ${basename $@}.log ; then ${LaTeX} ${BASE} ; fi
#	${Glossary} ${Build}/${BASE}
#	${LaTeX} ${BASE}

${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
