htlle-da-vorlage/Makefile

77 lines
2.4 KiB
Makefile
Raw Normal View History

# Where are the
SOURCEDIR=./example
STYLEDIR=$(CURDIR)/style
STAGINGDIR=$(CURDIR)/staging
INPUTDIR=$(STAGINGDIR)
OUTPUTDIR=$(STAGINGDIR)
2020-04-13 16:42:44 +02:00
BIBFILE=$(INPUTDIR)/literatur.bib
METADATAFILE = $(INPUTDIR)/metadata.yaml
OUTPUTFILE = $(OUTPUTDIR)/diplomarbeit.pdf
LOGFILE = $(OUTPUTFILE).log
SHELL := /bin/bash
2020-04-13 16:42:44 +02:00
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 '
2020-04-13 16:42:44 +02:00
@echo 'Usage: '
@echo ' make pdf generate a PDF file '
@echo ' '
@echo ' '
2020-04-13 16:42:44 +02:00
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 \
2020-04-13 16:42:44 +02:00
-o "$(OUTPUTFILE)" \
--template="$(STAGINGDIR)/style/template.tex" \
--bibliography="$(BIBFILE)" 2>"$(LOGFILE)" \
--csl="$(STAGINGDIR)/style/updated-deutsche-gesellschaft-fur-psychologie.csl" \
2020-04-13 16:42:44 +02:00
--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."
2020-04-13 16:42:44 +02:00
.PHONY: help pdf clean