# Configuration variables

Build = build
Figures = figures
Pictures = pictures

LaTMac = ../../LaTeXmacros
BibRep = ../../bibliography

TeXSRC = ${wildcard *.tex}
FigSRC = ${notdir ${wildcard ${Figures}/*.fig}}
PicSRC = ${notdir ${wildcard ${Pictures}/*.fig}}
BibSRC = ${wildcard *.bib}

TeXLIB = .:${LaTMac}:${Build}:
BibLIB = .:${BibRep}:

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

DOCUMENT = uw-ethesis.pdf
BASE = ${basename ${DOCUMENT}}			# remove suffix

# Commands

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

# Rules and Recipes

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

all : ${DOCUMENT}

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

# File Dependencies

%.dvi : ${TeXSRC} ${FigSRC:%.fig=%.tex} ${PicSRC:%.fig=%.pstex} ${BibSRC} ${BibRep}/pl.bib ${LaTMac}/common.tex Makefile | ${Build}
	${LaTeX} ${BASE}
	${BibTeX} ${Build}/${BASE}
	${LaTeX} ${BASE}
	# if needed, 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 -p $@

%.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
