# Where are the SOURCEDIR=./example STYLEDIR=$(CURDIR)/style STAGINGDIR=$(CURDIR)/staging INPUTDIR=$(STAGINGDIR) OUTPUTDIR=$(STAGINGDIR) BIBFILE=$(INPUTDIR)/literatur.bib METADATAFILE = $(INPUTDIR)/metadata.yaml OUTPUTFILE = $(OUTPUTDIR)/diplomarbeit.pdf LOGFILE = $(OUTPUTFILE).log SHELL := /bin/bash help: @echo ' ' @echo 'Makefile für Pandoc Markdown Vorlage ' @echo 'für Diplomarbeiten der HTL Leoben ' @echo ' ' @echo 'Autor: Günther Hutter, basierend auf der Arbeit von Michael Heinemann ' @echo ' sowie auf dem Template der HTL Rennweg3 ' @echo ' ' @echo 'Änderungswünsche werden ausschließlich via issue und pullrequest ' @echo 'Usage: ' @echo ' make pdf generate a PDF file ' @echo ' ' @echo ' ' spellcheck: # Style in das staging Verzeichnis mergen @rsync -av $(SOURCEDIR)/ $(STAGINGDIR) \ --cvs-exclude \ --exclude=HTLLE-DA-Vorlage \ --exclude=$(OUTPUTFILE) \ --exclude=$(LOGFILE) \ --quiet # Überprüft die staging Dateien auf Rechtschreibfehler @pandoc "$(STAGINGDIR)"/*.md -t plain | hunspell -d de_AT,de_AT_frami,en_US -p ignore.dict -l -t | sort | uniq #Remove the staging directory @echo "Removing the staging directory" @rm -rf $(STAGINGDIR) @echo "finished." pdf: # Kopieren der DA-Quellen in das staging Verzeichnis @echo "Source directory = $(SOURCEDIR)" @echo "Copying source files into the staging directory" @rsync -av $(SOURCEDIR)/ $(STAGINGDIR) \ --cvs-exclude \ --exclude=HTLLE-DA-Vorlage \ --exclude=$(OUTPUTFILE) \ --exclude=$(LOGFILE) \ --quiet # Style in das staging Verzeichnis mergen @echo "Merging style files into the staging directory" @rsync -av $(STYLEDIR)/ $(STAGINGDIR)/style --quiet # Bauen der Arbeit aus dem staging verzeichnis heraus @echo "Compiling the theses into the pdf: $(OUTPUTFILE)" # Builden mit pandoc. Als Basisverzeichnis springen wir ins staging. # Damit sollten alle relativen Links stimmen @cd staging && pandoc "$(STAGINGDIR)"/*.md "$(STAGINGDIR)/style/"*.md *.yaml \ -o "$(OUTPUTFILE)" \ --template="$(STAGINGDIR)/style/template.tex" \ --bibliography="$(BIBFILE)" 2>"$(LOGFILE)" \ --csl="$(STAGINGDIR)/style/htlle-diplomarbeit.csl" \ --highlight-style=pygments \ --listings \ --metadata link-citations=true \ -N # Ausgabe der Warnungen @cat $(LOGFILE) # Build erfolgreich -> Resultate zurückkopieren @rsync -az $(OUTPUTFILE) $(SOURCEDIR)/ @rsync -az $(LOGFILE) $(SOURCEDIR)/ #Remove the staging directory @echo "Removing the staging directory" @rm -rf $(STAGINGDIR) @echo "finished." .PHONY: help pdf clean