summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 71f1a88de8a9b0de4ca66f7f33d1f97fb82f9e97 (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
.PHONY: all clean

MARKDOWN_FILES := $(wildcard *.md)
TEX_FILES := $(patsubst %.md,build/%.tex,$(MARKDOWN_FILES))
PDF_FILES := $(patsubst %.md,build/%.pdf,$(MARKDOWN_FILES))

PLANTUML_FILES := $(wildcard res/plantuml/*.plantuml)
PLANTUML_OUTPUTS := $(patsubst %.plantuml,build/%.png,$(PLANTUML_FILES))

.SECONDARY: $(TEX_FILES) $(PLANTUML_OUTPUTS)

all: $(PDF_FILES)

clean:
	$(RM) -r build

build:
	mkdir -p build

build/res/plantuml:
	mkdir -p build/res/plantuml

lua-filters/minted/minted.lua:
	git submodule update --init

build/%.tex: %.md build beamer-template.tex lua-filters/minted/minted.lua
	pandoc "$<" \
		--from markdown \
		--to beamer \
		--template ./beamer-template.tex \
		--lua-filter ./lua-filters/minted/minted.lua \
		--biblatex \
		-so "$@"

build/%.pdf: build/%.tex bibliography.bib $(PLANTUML_OUTPUTS)
	cd build; latexmk \
		-xelatex \
		-interaction=nonstopmode \
		-shell-escape \
		-8bit \
		-file-line-error \
		-output-directory=./build \
		"$*.tex"
	cp build/build/$*.pdf build

build/res/plantuml/%.png: res/plantuml/%.plantuml build/res/plantuml
	PLANTUML_LIMIT_SIZE=8192 plantuml -tpng "$<" -o "$(PWD)/build/res/plantuml"