bavbavhaus.net/Makefile

24 lines
897 B
Makefile

SHELL = /bin/sh
.SUFFIXES:
# functions for pages, and parts, takes a list of sources as the only argument
getpages = $(patsubst %.md,public_html/%.html,$(1))
getparts = $(patsubst %.md,public_html/%.html.part,$(1))
.PHONY: all
all: public_html/index.html $(call getpages,$(shell pandoc lua pandoc/links.lua --follow index.md))
.SECONDEXPANSION:
public_html/%.html: %.md $$(shell pandoc lua pandoc/links.lua %.md)
$(eval links := $(filter-out $<,$^))
$(if $(links),$(MAKE) $(call getparts,$(links)))
pandoc --data-dir pandoc -d bavbavhaus.net.yaml --template bavbavhaus.net.html5 -M url=$*.html $(patsubst %,-M links=%,$(call getparts,$(links))) -o $@ $<
public_html/%.html.part: %.md
pandoc --data-dir pandoc -d bavbavhaus.net.yaml --template bavbavhaus.net.inline.html5 -M url=$*.html --id-prefix $* -o $@ $<
.PHONY: clean
clean:
$(RM) public_html/*.html.part
$(RM) public_html/*.html