aboutsummaryrefslogtreecommitdiff
path: root/Info/9/3/Planet/Makefile
blob: be920b359d9e76bb1b41ea6bdfb567f727b9cfc3 (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
61
62
63
64
65
66
67
68
# 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))

PRINTOUT=modellierung/landung/modellierung.pdf \
         modellierung/zwischenlager/methoden-testen.pdf \
         modellierung/zwischenlager/methoden-schreiben.pdf \
         algorithmik/sequenzen/sequenzen.pdf \
         algorithmik/while/bedingte-wiederholung.pdf \
         algorithmik/if/bedingte-anweisung.pdf \
         algorithmik/if/logik-operatoren.pdf \
         algorithmik/for/variablen.pdf \
         algorithmik/for/wiederholung-mit-fester-anzahl.pdf

PLOTSRCS := $(shell find -name "*.plantuml")
TIKSSRC := $(shell find -name "*.tikz")
PLOTS := $(PLOTSRCS:.plantuml=.svg) $(TIKSSRC:.tikz=.svg)

SRC := $(shell find -name "*.md")

PANDOC_FILTER := --filter pandoc-plot
PANDOC_FILTER += --lua-filter pandoc/add-erledigt-btn.lua
PANDOC_FILTER += --lua-filter pandoc/color-text.lua
PANDOC_FILTER += --lua-filter pandoc/wrap-merke.lua
PANDOC_FILTER += --lua-filter pandoc/center-img.lua
PANDOC_FILTER += --lua-filter pandoc/meta-vars.lua
PANDOC_FILTER += --lua-filter pandoc/include-files.lua

COMMON_PANDOC_OPTIONS := --embed-resources --standalone \
                         $(PANDOC_FILTER) \
                         --metadata-file=pandoc/default-metadata.yml

PANDOC=pandoc $(COMMON_PANDOC_OPTIONS)

all: $(PLOTS) $(SRC:.md=.html) $(PRINTOUT) slides.pdf slides.pptx glossar.xml

%.html: %.md templates/planet-mebis-page-template.html
	$(PANDOC) --data-dir=$(MAKEFILE_DIR) --template=templates/planet-mebis-page-template.html --resource-path="$(@D):." $< > $@

%.pdf: %.html
	chromium --headless --disable-gpu --print-to-pdf="$@" --generate-pdf-document-outline --no-pdf-header-footer $<

%.svg: %.plantuml
	plantuml --svg $< > $@ 

%.svg: %.tikz
	TEXINPUTS="$(@D):" tikztosvg -p graphicx -l shapes.geometric -l arrows.meta -l positioning -l calc -p struktex -o $@ $<
	inkscape --actions="page-fit-to-selection" -o $@ $@

algorithmik/while/bedingte-wiederholung.html: algorithmik/while/tuwas.svg

algorithmik/if/%.svg: algorithmik/if/%.pdf
	pdf2svg $< $@

algorithmik/hoehle/nachricht.base64: algorithmik/hoehle/nachricht
	cat $< | base64 -w 0 > $@

algorithmik/hoehle/hoehle.html : algorithmik/hoehle/nachricht.base64

slides.pdf: slides.md
	$(MAKE) -f Makefile.slides slides.pdf

slides.pptx: slides.pdf
	$(MAKE) -f Makefile.slides slides.pptx

glossar.xml: glossar.yml templates/glossar-template.xml
	echo | pandoc --metadata-file=glossar.yml --template=templates/glossar-template.xml -t html -o $@