-# update the local 'man' and 'html' branches with pregenerated output files, for
-# people who don't have pandoc (and maybe to aid in google searches or something)
-export-docs: Documentation/all
- git update-ref refs/heads/man origin/man '' 2>/dev/null || true
- git update-ref refs/heads/html origin/html '' 2>/dev/null || true
- GIT_INDEX_FILE=gitindex.tmp; export GIT_INDEX_FILE; \
- rm -f $${GIT_INDEX_FILE} && \
- git add -f Documentation/*.1 && \
- git update-ref refs/heads/man \
- $$(echo "Autogenerated man pages for $$(git describe --always)" \
- | git commit-tree $$(git write-tree --prefix=Documentation) \
- -p refs/heads/man) && \
- rm -f $${GIT_INDEX_FILE} && \
- git add -f Documentation/*.html && \
- git update-ref refs/heads/html \
- $$(echo "Autogenerated html pages for $$(git describe --always)" \
- | git commit-tree $$(git write-tree --prefix=Documentation) \
- -p refs/heads/html)
+.PHONY: Documentation/all
+Documentation/all: $(man_roff) $(man_html)
+
+Documentation/substvars: $(bup_deps)
+ echo "s,%BUP_VERSION%,$$(./bup version --tag),g" > $@
+ echo "s,%BUP_DATE%,$$(./bup version --date),g" >> $@
+
+Documentation/%.1: Documentation/%.md Documentation/substvars
+ $(pf); sed -f Documentation/substvars $< \
+ | $(PANDOC) -s -r markdown -w man -o $@
+
+Documentation/%.html: Documentation/%.md Documentation/substvars
+ $(pf); sed -f Documentation/substvars $< \
+ | $(PANDOC) -s -r markdown -w html -o $@
+
+.PHONY: Documentation/clean
+Documentation/clean:
+ cd Documentation && rm -f *~ .*~ *.[0-9] *.html substvars
+
+# Note: this adds commits containing the current manpages in roff and
+# html format to the man and html branches respectively. The version
+# is determined by "git describe --always".
+.PHONY: update-doc-branches
+update-doc-branches: Documentation/all
+ dev/update-doc-branches refs/heads/man refs/heads/html