aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile52
1 files changed, 19 insertions, 33 deletions
diff --git a/Makefile b/Makefile
index 7bd231c..432029b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,46 +1,32 @@
.POSIX:
.SUFFIXES:
-.SUFFIXES: .md .html .gmi
# commands
GIT = git
-PANDOC = pandoc
+SPHINXBUILD = sphinx-build
+SPHINXOPTS =
+SPHINXDEFVER = -D version="$$($(GIT) describe --tags --exact-match 2>/dev/null || $(GIT) log -1 --no-decorate --oneline)"
+SPHINXFULLOPTS = $(SPHINXDEFVER) $(SPHINXOPTS)
+SOURCEDIR = .
+BUILDDIR = _build
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: html pdf epub # gmi
-all: spec.pdf $(GMI)
+html: Makefile
+ @$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXFULLOPTS)
-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)
+gmi: Makefile
+ @$(SPHINXBUILD) -M gmi "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXFULLOPTS)
-.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 $@ $<
+pdf: Makefile
+ @$(SPHINXBUILD) -M rinoh "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXFULLOPTS)
-.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 $@ $<
+epub: Makefile
+ @$(SPHINXBUILD) -M epub "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXFULLOPTS)
-clean: clean-pdf clean-html clean-gmi
+clean:
+ rm -rf _build/*
-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
+check: pdf
+ test $$($(PDFINFO) _build/rinoh/crowbarlanguage.pdf | grep Pages | awk '{ print $$2 }') -le 200