##// END OF EJS Templates
doc/Makefile: detect the right name for rst2man and rst2html...
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.

File last commit:

r9405:7345fa5e default
r9405:7345fa5e default
Show More
Makefile
50 lines | 1.2 KiB | text/x-makefile | MakefileLexer
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