#===============================================================================
# Makefile for Digital Sheetbook Documentation
# Sunday, March 27 2011, Dennis Schulmeister
# NOTE: Each file is created three times for the table of contents to be correct
#===============================================================================
OUTDIR = ./PDF
BUILDDIR = ./build
PDFLATEX = pdflatex
PDFLATEX_OPTIONS = -halt-on-error -file-line-error -output-directory $(BUILDDIR)
TEXINPUTS = .:../docclass:

#-------------------------------------------------------------------------------
# Targets for single files
# $ make ds0-TEMPLATE.pdf
#-------------------------------------------------------------------------------
.SUFFIXES: .pdf

%.pdf : mkdirs
	export TEXINPUTS=$(TEXINPUTS); \
	$(PDFLATEX) $(PDFLATEX_OPTIONS) $*.tex; \
	$(PDFLATEX) $(PDFLATEX_OPTIONS) $*.tex; \
	$(PDFLATEX) $(PDFLATEX_OPTIONS) $*.tex; \
	mv $(BUILDDIR)/$@ $(OUTDIR)

#-------------------------------------------------------------------------------
# Targets for all files at once
# $ make all
# $ make clean
#-------------------------------------------------------------------------------
.PHONY: clean
.PHONY: mkdirs
.PHONY: all

clean:
	rm -Rf $(OUTDIR)
	rm -Rf $(BUILDDIR)
	rm -f *~

	rm -f *.log
	rm -f *.dvi
	rm -f *.aux

mkdirs:
	if [ ! -e $(OUTDIR) ]; then mkdir $(OUTDIR); fi
	if [ ! -e $(BUILDDIR) ]; then mkdir $(BUILDDIR); fi

all: clean mkdirs
	export TEXINPUTS=$(TEXINPUTS); \
	for INFILE in *.tex; do \
	$(PDFLATEX) $(PDFLATEX_OPTIONS) $$INFILE; \
	$(PDFLATEX) $(PDFLATEX_OPTIONS) $$INFILE; \
	$(PDFLATEX) $(PDFLATEX_OPTIONS) $$INFILE; \
	done
	mv $(BUILDDIR)/*.pdf $(OUTDIR)
