# 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" -not -name "Readme.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) .PHONY: all tests all: $(PLOTS) $(SRC:.md=.html) $(PRINTOUT) $(PRINTOUT:.pdf=_handout.pdf) slides.pdf slides.pptx glossar.xml tests tests: make -C tests %.html: %.md templates/planet-mebis-page-template.html templates/add-glossary-item.js templates/h5p-autoembed.js $(PANDOC) --data-dir=$(MAKEFILE_DIR) --template=templates/planet-mebis-page-template.html --resource-path="$(@D):." $< > $@ %_handout.html: %.md templates/planet-mebis-handout-template.html $(PANDOC) --data-dir=$(MAKEFILE_DIR) --template=templates/planet-mebis-handout-template.html --resource-path="$(@D):." $< > $@ %.pdf: %.html chromium --headless --disable-gpu --print-to-pdf="$@" --generate-pdf-document-outline --no-pdf-header-footer $< %_handout.pdf: %_handout.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 $@