igdb/Makefile

93 lines
2.8 KiB
Makefile

## Source files
## (Adjust to your needs. Order of markdown files in $(SRC) matters!)
PANDOC = pandoc
DOC = Docs
META = Assets/metadata.yaml
SRC = $(DOC)/Project.md
BIBFILE = Assets/Citations.bib
TARGET = $(DOC)/Project.pdf
###############################################################################
## Internal setup (do not change)
###############################################################################
## Auxiliary files
## (Do not change!)
TITLEPAGE = titlepage.tex
TMP = Assets/$(TITLEPAGE:%.tex=__%.filled.tex)
## Pandoc options
AUX_OPTS =
OPTIONS = -f markdown
OPTIONS += --pdf-engine=pdflatex
OPTIONS += --filter=pandoc-citeproc
OPTIONS += --metadata-file=$(META)
OPTIONS += -M bibliography=$(BIBFILE)
OPTIONS += --listings
OPTIONS += --include-in-header=$(TMP)
OPTIONS += --resource-path=./Assets/Diagrams
## Template variables
TEMPLATE_DL_DIR = .tmp_template_dl
CLEANTHESIS_TEMPLATE = Assets/cleanthesis.sty
TEMPLATE_FILES = $(CLEANTHESIS_TEMPLATE)
###############################################################################
## Main targets (do not change)
###############################################################################
$(SRC): $(DOC)/Project.org
$(PANDOC) -o $@ $<
## Use Clean Thesis template (https://github.com/derric/cleanthesis)
cleanthesis: TEMPLATE_FILE += $(CLEANTHESIS_TEMPLATE)
cleanthesis: TEMPLATE_REPO += $(CLEANTHESIS_REPO)
cleanthesis: TEMPLATE_VERSION += $(CLEANTHESIS_VERSION)
cleanthesis: AUX_OPTS += -M cleanthesis=true -M cleanthesisbibfile=$(BIBFILE:%.bib=%)
cleanthesis: OPTIONS += --include-in-header=Assets/include-header.tex $(AUX_OPTS)
cleanthesis: $(CLEANTHESIS_TEMPLATE) $(TARGET)
## Clean-up: Remove temporary (generated) files and download folder
clean:
rm -rf $(TMP) $(TEMPLATE_DL_DIR)
## Clean-up: Remove also genereated thesis and template files
distclean: clean
rm -f $(TARGET)
###############################################################################
## Auxiliary targets (do not change)
###############################################################################
## Download template files
## Build thesis
${TARGET}: $(SRC) $(META) $(BIBFILE) $(TMP)
$(PANDOC) ${OPTIONS} -o $@ $(SRC)
## Build auxiliary files (title page, references)
$(TMP): Assets/__%.filled.tex: Assets/%.tex $(META)
$(PANDOC) $(AUX_OPTS) --template=$< --metadata-file=$(META) -o $@ $<
###############################################################################
## Declaration of phony targets
###############################################################################
.PHONY: cleanthesis clean distclean