clean-%:
$(RM) $(addprefix $(@:clean-%=%).,acn acr alg aux bbl blg idl idx ilg ind\
- fmt glg glo gls ist loa lof log lol lot mlog out pdf tdo toc)
+ fmt glg glo gls ist loa lof log lol lot mlog nav out pdf snm tdo toc)
--- /dev/null
+DOCS:=presentation
+GREP?=grep
+LATEX?=pdflatex
+BIBTEX?=bibtex
+BIBTEXFLAGS:=
+MAKEGL?=makeglossaries
+MAKEGLFLAGS?=
+MAKEIDX?=makeindex
+MAKEIDXFLAGS?=
+DOT?=dot
+DOTFLAGS?=-Tpng
+LATEXFLAGS:=-file-line-error -halt-on-error
+
+FIGURES:=$(patsubst fig/%.dot,img/%.png,$(wildcard fig/*.dot))
+LISTINGS:=$(wildcard listings/*)
+TEXS:=$(wildcard *.bib)
+BIBS:=$(wildcard *.tex)
+
+.PHONY: all clean
+.SECONDARY: $(DOCS:%=%.fmt) $(FIGURES)
+
+all: $(DOCS:%=%.pdf)
+
+%.fmt: %.pre
+ $(LATEX) $(LATEXFLAGS) -ini -jobname="$(basename $<)" "&$(LATEX) $<\dump"
+
+%.pdf: %.mlog
+ if grep -Fiq "Rerun" $<; then $(LATEX) $(LATEXFLAGS) $(basename $<); fi
+
+%.mlog: %.tex %.fmt $(BIBS) $(TEXS) $(FIGURES) $(LISTINGS)
+ $(LATEX) $(LATEXFLAGS) $<
+ if $(GREP) -q '^\\bibdata{' $(basename $<).aux; then $(BIBTEX) $(BIBTEXFLAGS) $(basename $<); fi
+ if $(GREP) -q '\@istfilename' $(basename $<).aux; then $(MAKEGL) $(MAKEGLFLAGS) $(basename $<); fi
+ if [ -f $(basename $<).idx ]; then $(MAKEIDX) $(MAKEIDXFLAGS) $(basename $<); fi
+ $(LATEX) $(LATEXFLAGS) $< | tee $@
+
+img/%.png: fig/%.dot
+ $(DOT) $(DOTFLAGS) $< > $@
+
+clean: $(DOCS:%=clean-%)
+ $(RM) $(FIGURES)
+
+clean-%:
+ $(RM) $(addprefix $(@:clean-%=%).,acn acr alg aux bbl blg idl idx ilg ind\
+ fmt glg glo gls ist loa lof log lol lot mlog nav out pdf snm tdo toc)
--- /dev/null
+\documentclass{beamer}
+
+\graphicspath{{img/}}
+
+\urlstyle{tt}
+
+\author{Mart Lubbers BSc.\\
+{\small\href{mailto:mart@martlubbers.net}{mart@martlubbers.net}}\\
+~\\
+\textit{Supervisors:}\\
+prof.~dr.~dr.h.c.~ir.~M.J.~Plasmeijer\\
+dr.~P.W.M.~Koopman
+}
+
+\title{Task Oriented Programming and the Internet of Things}
+\subtitle{\sc Master's Thesis: Computing Science}
+\date{\today}