aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile28
1 files changed, 18 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index f5f30d3..258580a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,31 @@
+.POSIX:
+.SUFFIXES:
+.SUFFIXES: .md .html
+
+# 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)
+HTML = $(SRC:.md=.html)
spec.pdf: $(HTML)
- if git describe --tags --exact-match 2>/dev/null; \
+ if $(GIT) describe --tags --exact-match 2>/dev/null; \
then \
- metadata="subtitle=$(git describe --tags --exact-match)"; \
+ metadata="subtitle=$$($(GIT) describe --tags --exact-match)"; \
else \
- metadata="version=$(git log -1 --no-decorate --oneline)"; \
+ metadata="version=$$($(GIT) log -1 --no-decorate --oneline)"; \
fi; \
- pandoc --defaults=etc/pdf.yml -M "$$metadata" -o $@ $(HTML)
+ $(PANDOC) --defaults=etc/pdf.yml -M "$$metadata" -o $@ $(HTML)
-%.html: %.md
+.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 $@ $<
+ $(PANDOC) --defaults=etc/md.yml --number-offset=$$offset -o $@ $<
clean:
rm -f $(HTML) spec.pdf
check: spec.pdf
- test $$(pdfinfo spec.pdf | grep Pages | awk '{ print $$2 }') -le 200
-
-.PHONY: clean check
+ test $$($(PDFINFO) spec.pdf | grep Pages | awk '{ print $$2 }') -le 200