annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
671
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents: 465
diff changeset
1 SOURCES=$(wildcard *.[0-9].txt)
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents: 465
diff changeset
2 MAN=$(SOURCES:%.txt=%)
efa4a7e2f322 Move hgrc documentation out to its own man page, hgrc(5).
Bryan O'Sullivan <bos@serpentine.com>
parents: 465
diff changeset
3 HTML=$(SOURCES:%.txt=%.html)
2233
3840cefa5222 Added install target.
wilde@trapperkeeper.sha-bang.de
parents: 1879
diff changeset
4 PREFIX=/usr/local
4030
a48971ae1387 install man pages by default into $(PREFIX)/share/man not $(PREFIX)/man since the FHS puts them there
Jonathan Smith <https://issues.rpath.com/>
parents: 3908
diff changeset
5 MANDIR=$(PREFIX)/share/man
7686
fa584d23e3cc Do not install executable man pages
Christian Ebert <blacktrash@gmx.net>
parents: 7660
diff changeset
6 INSTALL=install -c -m 644
6724
2e58f1a36046 use ${PYTHON} var in doc/Makefile as well
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6486
diff changeset
7 PYTHON=python
9405
7345fa5e572e doc/Makefile: detect the right name for rst2man and rst2html
Mads Kiilerich <mads@kiilerich.com>
parents: 9401
diff changeset
8 RST2HTML=$(shell which rst2html 2> /dev/null || which rst2html.py)
7345fa5e572e doc/Makefile: detect the right name for rst2man and rst2html
Mads Kiilerich <mads@kiilerich.com>
parents: 9401
diff changeset
9 RST2MAN=$(shell which rst2man 2> /dev/null || which rst2man.py)
465
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
10
1006
b0e581438835 Generate html documentation by default, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 671
diff changeset
11 all: man html
465
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
12
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
13 man: $(MAN)
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
14
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
15 html: $(HTML)
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
16
1814
7956893e8458 generate hg manpage from commands.py docstring
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1689
diff changeset
17 hg.1.txt: hg.1.gendoc.txt
7956893e8458 generate hg manpage from commands.py docstring
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1689
diff changeset
18 touch hg.1.txt
7956893e8458 generate hg manpage from commands.py docstring
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1689
diff changeset
19
9107
309c1d762e8e doc/Makefile: let hg1.gendoc.txt depend on gendoc.py
Martin Geisler <mg@lazybytes.net>
parents: 8822
diff changeset
20 hg.1.gendoc.txt: gendoc.py ../mercurial/commands.py ../mercurial/help.py
6724
2e58f1a36046 use ${PYTHON} var in doc/Makefile as well
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6486
diff changeset
21 ${PYTHON} gendoc.py > $@
1814
7956893e8458 generate hg manpage from commands.py docstring
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1689
diff changeset
22
9162
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
23 %: %.txt common.txt
9400
a6747ba27d22 doc/Makefile: detect rst2man errors
Mads Kiilerich <mads@kiilerich.com>
parents: 9162
diff changeset
24 $(RST2MAN) $*.txt > $*.tmp
9401
2a5144687727 doc/Makefile: Don't show Makefile comments in output
Mads Kiilerich <mads@kiilerich.com>
parents: 9400
diff changeset
25 # add newline after all literal blocks and fix backslash escape
9400
a6747ba27d22 doc/Makefile: detect rst2man errors
Mads Kiilerich <mads@kiilerich.com>
parents: 9162
diff changeset
26 sed \
a6747ba27d22 doc/Makefile: detect rst2man errors
Mads Kiilerich <mads@kiilerich.com>
parents: 9162
diff changeset
27 -e 's/^\.fi$$/.fi\n/' \
a6747ba27d22 doc/Makefile: detect rst2man errors
Mads Kiilerich <mads@kiilerich.com>
parents: 9162
diff changeset
28 -e 's/\\fB\\\\fP/\\fB\\e\\fP/' \
a6747ba27d22 doc/Makefile: detect rst2man errors
Mads Kiilerich <mads@kiilerich.com>
parents: 9162
diff changeset
29 $*.tmp > $*
a6747ba27d22 doc/Makefile: detect rst2man errors
Mads Kiilerich <mads@kiilerich.com>
parents: 9162
diff changeset
30 rm $*.tmp
465
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
31
9162
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
32 %.html: %.txt common.txt
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 9107
diff changeset
33 $(RST2HTML) $*.txt > $*.html
465
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
34
3872
9d7ac8613340 fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3269
diff changeset
35 MANIFEST: man html
9401
2a5144687727 doc/Makefile: Don't show Makefile comments in output
Mads Kiilerich <mads@kiilerich.com>
parents: 9400
diff changeset
36 # tracked files are already in the main MANIFEST
3872
9d7ac8613340 fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3269
diff changeset
37 $(RM) $@
3908
8020c35b6455 Include hg.1.gendoc.txt in doc/MANIFEST to prevent unnecessary rebuild.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 3907
diff changeset
38 for i in $(MAN) $(HTML) hg.1.gendoc.txt; do \
3872
9d7ac8613340 fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3269
diff changeset
39 echo "doc/$$i" >> $@ ; \
9d7ac8613340 fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3269
diff changeset
40 done
9d7ac8613340 fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3269
diff changeset
41
2233
3840cefa5222 Added install target.
wilde@trapperkeeper.sha-bang.de
parents: 1879
diff changeset
42 install: man
3840cefa5222 Added install target.
wilde@trapperkeeper.sha-bang.de
parents: 1879
diff changeset
43 for i in $(MAN) ; do \
8822
1027da7d2fb9 doc: fix regexp for determining the man page section
Cédric Duval <cedricduval@free.fr>
parents: 8311
diff changeset
44 subdir=`echo $$i | sed -n 's/^.*\.\([0-9]\)$$/man\1/p'` ; \
4753
620cea146b19 mercurial.spec: include CONTRIBUTORS, COPYING and man pages in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4032
diff changeset
45 mkdir -p $(DESTDIR)$(MANDIR)/$$subdir ; \
620cea146b19 mercurial.spec: include CONTRIBUTORS, COPYING and man pages in rpm
Adam Spiers <hg@adamspiers.org>
parents: 4032
diff changeset
46 $(INSTALL) $$i $(DESTDIR)$(MANDIR)/$$subdir ; \
2233
3840cefa5222 Added install target.
wilde@trapperkeeper.sha-bang.de
parents: 1879
diff changeset
47 done
3840cefa5222 Added install target.
wilde@trapperkeeper.sha-bang.de
parents: 1879
diff changeset
48
465
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
49 clean:
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 9107
diff changeset
50 $(RM) $(MAN) $(MAN:%=%.html) *.[0-9].gendoc.txt MANIFEST