## Define the configuration variables.

Build = build
Figures = figures
Macros = ../LaTeXmacros
TeXLIB = .:${Macros}:${Build}:../bibliography:
LaTeX  = TEXINPUTS=${TeXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${Build}
BibTeX = BIBINPUTS=${TeXLIB} && export BIBINPUTS && bibtex

MAKEFLAGS = --no-print-directory --silent #
VPATH = ${Build} ${Figures}

## Define the text source files.

SOURCES = ${addsuffix .tex, \
user \
../refrat/keywords \
../refrat/operidents \
}

FIGURES = ${addsuffix .tex, \
EHMHierarchy \
Cdecl \
pointer1 \
}

PICTURES = ${addsuffix .pstex, \
pointer2 \
}

PROGRAMS = ${addsuffix .tex, \
}

GRAPHS = ${addsuffix .tex, \
}

## Define the documents that need to be made.

DOCUMENT = user.pdf
BASE = ${basename ${DOCUMENT}}

# Directives #

.PHONY : all clean					# not file names

all : ${DOCUMENT}

clean :
	@rm -frv ${DOCUMENT} ${BASE}.ps ${Build}

# File Dependencies #

build/version: ../../configure | ${Build}
	../../configure --version | grep "cfa-cc configure" | grep -oEe "([0-9]+\.)+[0-9]+" > $@

${DOCUMENT} : ${BASE}.ps
	ps2pdf $<

${BASE}.ps : ${BASE}.dvi
	dvips ${Build}/$< -o $@

${BASE}.dvi : Makefile ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} \
		${Macros}/common.tex ${Macros}/lstlang.sty ${Macros}/indexstyle ../bibliography/pl.bib build/version | ${Build}
	# Conditionally create an empty *.ind (index) file for inclusion until makeindex is run.
	if [ ! -r ${basename $@}.ind ] ; then touch ${Build}/${basename $@}.ind ; fi
	# Must have *.aux file containing citations for bibtex
	if [ ! -r ${basename $@}.aux ] ; then ${LaTeX} ${basename $@}.tex ; fi
	-${BibTeX} ${Build}/${basename $@}
	# Some citations reference others so run again to resolve these citations
	${LaTeX} ${basename $@}.tex
	-${BibTeX} ${Build}/${basename $@}
	# Make index from *.aux entries and input index at end of document
	makeindex -s ${Macros}/indexstyle ${Build}/${basename $@}.idx
	# Run again to finish citations
	${LaTeX} ${basename $@}.tex
	# Run again to get index title into table of contents
	${LaTeX} ${basename $@}.tex

## Define the default recipes.

${Build}:
	mkdir -p ${Build}

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

# Local Variables: #
# compile-command: "make" #
# End: #
