doc: use our own rst2man.py script (
issue1746)
The rst2man tool has not yet been part of an official Docutils
release, and it is not present in most distributions. This poses a
problem for people who want to install Mercurial from source, or who
want to create a Mercurial package for such a distribution -- how to
specify the build-dependencies?
By including the rst2man.py script with Mercurial people only need a
normal Docutils installation in order to install Mercurial.
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)
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
$(PYTHON) rst2man.py $*.txt > $*
%.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