.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