.POSIX: .SUFFIXES: .SUFFIXES: .md .html .gmi # commands GIT = git PANDOC = pandoc PDFINFO = pdfinfo # input files SRC = index.md vs-c.md tagged-unions.md types.md safety.md errors.md syntax.md LICENSE.md HTML = $(SRC:.md=.html) GMI = $(SRC:.md=.gmi) all: spec.pdf $(GMI) spec.pdf: $(HTML) @if $(GIT) describe --tags --exact-match 2>/dev/null; \ then \ metadata="subtitle=$$($(GIT) describe --tags --exact-match)"; \ else \ metadata="version=$$($(GIT) log -1 --no-decorate --oneline)"; \ fi; \ $(PANDOC) --defaults=etc/pdf.yml -M "$$metadata" -o $@ $(HTML) .md.html: @offset=`echo $(SRC) | awk '{for (i=1; i<=NF; i++) if ($$i == "$<") print (i-1) }'`; \ $(PANDOC) --defaults=etc/md.yml --number-offset=$$offset -o $@ $< .md.gmi: @offset=`echo $(SRC) | awk '{for (i=1; i<=NF; i++) if ($$i == "$<") print (i-1) }'`; \ $(PANDOC) --defaults=etc/md.yml --write=etc/gemtext.lua --template=etc/template.gmi --number-offset=$$offset -o $@ $< clean: clean-pdf clean-html clean-gmi clean-pdf: rm -f spec.pdf clean-html: rm -f $(HTML) clean-gmi: rm -f $(GMI) check: spec.pdf test $$($(PDFINFO) spec.pdf | grep Pages | awk '{ print $$2 }') -le 200