aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common.mk20
1 files changed, 19 insertions, 1 deletions
diff --git a/common.mk b/common.mk
index 8119b2dc..10a32461 100644
--- a/common.mk
+++ b/common.mk
@@ -6,6 +6,7 @@ MAKEFILE_DIR ?= $(dir $(MAKEFILE_PATH))
IMGS := $(wildcard img/*)
LATEX_BASE := $(MAKEFILE_DIR)latex
+LATEX_FMT_BASE := $(LATEX_BASE)/fmts
COMMON_IMAGES := $(LATEX_BASE)/images
PANDOC_DIR := $(MAKEFILE_DIR)pandoc
PANDOC_FILTER_DIR := $(PANDOC_DIR)/filters
@@ -16,15 +17,23 @@ PANDOC_FILTER_OPTIONS := --lua-filter "$(PANDOC_FILTER_DIR)/center-img.lua" --l
COMMON_PANDOC_OPTIONS := --resource-path="$(COMMON_IMAGES):." $(PANDOC_CITE_OPTIONS) $(PANDOC_FILTER_OPTIONS)
PANDOC := pandoc $(COMMON_PANDOC_OPTIONS)
-SLIDES_OPTIONS := --slide-level 2 -t beamer --pdf-engine-opt=--shell-escape --metadata-file=$(PANDOC_DIR)/defaults/slides-metadata.yml --template=$(PANDOC_TEMPLATE_DIR)/beamer.tex
+SLIDES_OPTIONS := --slide-level 2 -t beamer
+SLIDES_OPTIONS += --pdf-engine-opt=--shell-escape
+SLIDES_OPTIONS += --metadata-file=$(PANDOC_DIR)/defaults/slides-metadata.yml
+SLIDES_OPTIONS += --template=$(PANDOC_TEMPLATE_DIR)/beamer.tex
+SLIDES_OPTIONS += --pdf-engine-opt=-fmt=$(LATEX_FMT_BASE)/slides.fmt
RUBBER_OPTS := --into .build --pdf --shell-escape -I "$(LATEX_BASE)"
+LATEX := TEXINPUTS=$(LATEX_BASE): pdflatex
+LATEX_OPTS := -interaction=batchmode -shell-escape -output-directory=.build/
+
PDF2PPTX := pdf2pptx
VERBOSE ?= @
ifeq ($(VERBOSE), @)
RUBBER_OPTS += --quiet
+ SILENCE := > /dev/null
endif
slides.pdf: slides.md $(wildcard img/*) $(MAKEFILE_LIST)
@@ -52,6 +61,15 @@ slides.pptx: slides.pdf $(MAKEFILE_LIST)
@mkdir -p .build
$(VERBOSE)rubber $(RUBBER_OPTS) --jobname $(@:.build/%.pdf=%) $<
+define generatePDFLatexExceptions
+.PRECIOUS: .build/$(1).pdf
+.build/$(1).pdf: $(1).tex .FORCE $(MAKEFILE_LIST)
+ @mkdir -p .build
+ $(VERBOSE)TEXINPUTS=$(LATEX_BASE): TEXFORMATS=$(LATEX_FMT_BASE): pdflatex $(LATEX_OPTS) --jobname=$(1) \&$(1) $$< $(SILENCE)
+endef
+
+$(foreach t, map sequence, $(eval $(call generatePDFLatexExceptions,$(t))))
+
.PRECIOUS: .build/lehrer_%.pdf
.build/lehrer_%.pdf: %.tex .FORCE $(MAKEFILE_LIST)
@mkdir -p .build