## -------------------------------------------------------------
## A simple Makefile for generating pdf from LaTeX input.
## -------------------------------------------------------------

## -------------------------------------------------------------
## NEARLY-CONSTANTS
## -------------------------------------------------------------
## names of tex files to process
files = notes

latexFlags = --interaction nonstopmode

cleancmd = rm -f

viewcmd = explorer
latexcmd = pdflatex
# suffix of the files generated by latexcmd
gensuffix = pdf

defnfiles = #$(wildcard defn-*.tex) pac-macros.tex

## -------------------------------------------------------------
## TARGETS
## -------------------------------------------------------------
.PHONY: all fresh clean distclean tags

# Regenerate all files whose source has changed
all:	$(addsuffix .$(gensuffix),$(files)) tags

# Regenerate all files
fresh:  distclean all

# Clean files that can trip up latex when certain changes are made to
# the source
clean:
	$(cleancmd) $(addsuffix .aux,$(files))

# Clean all generated files
distclean:	clean
	$(cleancmd) pac-defn.tex
	$(cleancmd) $(addsuffix .$(gensuffix),$(files))
	$(cleancmd) $(addsuffix .log,$(files))
	$(cleancmd) $(addsuffix .bbl,$(files))
	$(cleancmd) $(addsuffix .blg,$(files))
	$(cleancmd) $(addsuffix .toc,$(files))
	$(cleancmd) $(addsuffix .out,$(files))
	$(cleancmd) `cat .cvsignore`

# Generate the output from the source
%.$(gensuffix):	%.tex $(defnfiles)
	$(cleancmd) $(addsuffix .aux,$*)
	$(latexcmd) $(latexFlags) $*
	bibtex $*
	$(latexcmd) $(latexFlags) $*
	$(latexcmd) $(latexFlags) $*

# Generate tags file
TAGS:	$(addsuffix .tex,$(files)) $(defnfiles)
	etags $^

tags:	TAGS
