aboutsummaryrefslogtreecommitdiff
path: root/common.mk
blob: 1e281e6d3f2c3f2fbf321e9478999329211579a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# The full path to the Makefile
MAKEFILE_PATH ?= $(abspath $(lastword $(MAKEFILE_LIST)))
# The path to the directory of the Makefile
MAKEFILE_DIR ?= $(dir $(MAKEFILE_PATH))

IMGS := $(wildcard img/*)

LATEX_BASE := $(MAKEFILE_DIR)latex
PANDOC_FILTER_DIR := $(MAKEFILE_DIR)pandoc
COMMON_IMAGES := $(LATEX_BASE)/images

PANDOC_CITE_OPTIONS := --citeproc --csl=$(PANDOC_FILTER_DIR)/din-1505-2-numeric-alphabetical.csl
PANDOC_FILTER_OPTIONS :=  --lua-filter "$(PANDOC_FILTER_DIR)/center-img.lua" --lua-filter "$(PANDOC_FILTER_DIR)/include-files.lua"
COMMON_PANDOC_OPTIONS := --pdf-engine=lualatex --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

RUBBER_OPTS := --into .build -m lualatex:pdf --shell-escape -I "$(LATEX_BASE)"

PDF2PPTX := pdf2pptx

VERBOSE ?= @
ifeq ($(VERBOSE), @)
	RUBBER_OPTS += --quiet
endif

slides.pdf: slides.md $(wildcard img/*) $(MAKEFILE_LIST)
	@echo "building $@"
	$(VERBOSE)$(PANDOC) $(SLIDES_OPTIONS) $< -o $@

slides_handout.pdf: slides_handout.md $(wildcard img/*) $(MAKEFILE_LIST)
	@echo "building $@"
	$(VERBOSE)$(PANDOC) $(SLIDES_OPTIONS) $< -M handout -o $@

slides%.pdf: slides%.md $(wildcard slides.md) $(wildcard img/*) $(MAKEFILE_LIST)
	@echo "building $@"
	$(VERBOSE)$(PANDOC) $(SLIDES_OPTIONS) $< -o $@

slides.pptx: slides.pdf $(MAKEFILE_LIST)
	@echo "building $@"
	$(VERBOSE)$(PDF2PPTX) $<

%.pdf: %.md $(MAKEFILE_LIST)
	@echo "building $@"
	$(VERBOSE)$(PANDOC) -f markdown $< -o $@

.PRECIOUS: .build/%.pdf
.build/%.pdf: %.tex .FORCE $(MAKEFILE_LIST)
	@mkdir -p .build
	$(VERBOSE)rubber $(RUBBER_OPTS) $<

%.pdf: .build/%.pdf
	@echo "built $@"
	$(VERBOSE)cp .build/$@ $@

%_printout.pdf: %_printout.tex %.pdf $(MAKEFILE_LIST)

.PHONY: .FORCE
.FORCE: