Mercurial > hg
view doc/Makefile @ 9405:7345fa5e572e
doc/Makefile: detect the right name for rst2man and rst2html
docutils uses the .py extension on the commands, and so do their installer.
Distribution packages might strip the .py, but the official name should work too.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Thu, 20 Aug 2009 23:35:46 +0200 |
parents | 2a5144687727 |
children | a82db54bc3be |
line wrap: on
line source
SOURCES=$(wildcard *.[0-9].txt) MAN=$(SOURCES:%.txt=%) HTML=$(SOURCES:%.txt=%.html) PREFIX=/usr/local MANDIR=$(PREFIX)/share/man INSTALL=install -c -m 644 PYTHON=python RST2HTML=$(shell which rst2html 2> /dev/null || which rst2html.py) RST2MAN=$(shell which rst2man 2> /dev/null || which rst2man.py) all: man html man: $(MAN) html: $(HTML) hg.1.txt: hg.1.gendoc.txt touch hg.1.txt hg.1.gendoc.txt: gendoc.py ../mercurial/commands.py ../mercurial/help.py ${PYTHON} gendoc.py > $@ %: %.txt common.txt $(RST2MAN) $*.txt > $*.tmp # add newline after all literal blocks and fix backslash escape sed \ -e 's/^\.fi$$/.fi\n/' \ -e 's/\\fB\\\\fP/\\fB\\e\\fP/' \ $*.tmp > $* rm $*.tmp %.html: %.txt common.txt $(RST2HTML) $*.txt > $*.html MANIFEST: man html # tracked files are already in the main MANIFEST $(RM) $@ for i in $(MAN) $(HTML) hg.1.gendoc.txt; do \ echo "doc/$$i" >> $@ ; \ done install: man for i in $(MAN) ; do \ subdir=`echo $$i | sed -n 's/^.*\.\([0-9]\)$$/man\1/p'` ; \ mkdir -p $(DESTDIR)$(MANDIR)/$$subdir ; \ $(INSTALL) $$i $(DESTDIR)$(MANDIR)/$$subdir ; \ done clean: $(RM) $(MAN) $(MAN:%=%.html) *.[0-9].gendoc.txt MANIFEST