doc/Makefile
author Martin Geisler <mg@lazybytes.net>
Tue, 01 Dec 2009 00:43:21 +0100
branchstable
changeset 9971 fa99480d5135
parent 9703 8374f26727de
child 10001 3fb77d6cb9e5
child 10092 f1bf64abcb1b
permissions -rw-r--r--
doc/Makefile: ensure C locale The man pages can actually be translated by building them in a different locale. However, the man pages contain internal links to certain sections, and when the section titles are translated, the links change too. So it is currently not recommended to build the man pages in anything by the "C" locale.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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)
9703
8374f26727de doc/Makefile: add help/*.txt as a dependency
Martin Geisler <mg@lazybytes.net>
parents: 9626
diff changeset
     4
GENDOC=gendoc.py ../mercurial/commands.py ../mercurial/help.py ../help/*.txt
2233
3840cefa5222 Added install target.
wilde@trapperkeeper.sha-bang.de
parents: 1879
diff changeset
     5
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
     6
MANDIR=$(PREFIX)/share/man
7686
fa584d23e3cc Do not install executable man pages
Christian Ebert <blacktrash@gmx.net>
parents: 7660
diff changeset
     7
INSTALL=install -c -m 644
6724
2e58f1a36046 use ${PYTHON} var in doc/Makefile as well
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6486
diff changeset
     8
PYTHON=python
9405
7345fa5e572e doc/Makefile: detect the right name for rst2man and rst2html
Mads Kiilerich <mads@kiilerich.com>
parents: 9401
diff changeset
     9
RST2HTML=$(shell which rst2html 2> /dev/null || which rst2html.py)
465
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
    10
9971
fa99480d5135 doc/Makefile: ensure C locale
Martin Geisler <mg@lazybytes.net>
parents: 9703
diff changeset
    11
export LC_ALL=C
fa99480d5135 doc/Makefile: ensure C locale
Martin Geisler <mg@lazybytes.net>
parents: 9703
diff changeset
    12
1006
b0e581438835 Generate html documentation by default, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 671
diff changeset
    13
all: man html
465
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
    14
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
    15
man: $(MAN)
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
    16
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
    17
html: $(HTML)
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
    18
1814
7956893e8458 generate hg manpage from commands.py docstring
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1689
diff changeset
    19
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
    20
	touch hg.1.txt
7956893e8458 generate hg manpage from commands.py docstring
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1689
diff changeset
    21
9703
8374f26727de doc/Makefile: add help/*.txt as a dependency
Martin Geisler <mg@lazybytes.net>
parents: 9626
diff changeset
    22
hg.1.gendoc.txt: $(GENDOC)
9444
2f7f6e43d52b doc/Makefile: do not create files in case of errors
Martin Geisler <mg@lazybytes.net>
parents: 9422
diff changeset
    23
	${PYTHON} gendoc.py > $@.tmp
2f7f6e43d52b doc/Makefile: do not create files in case of errors
Martin Geisler <mg@lazybytes.net>
parents: 9422
diff changeset
    24
	mv $@.tmp $@
1814
7956893e8458 generate hg manpage from commands.py docstring
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1689
diff changeset
    25
9162
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
    26
%: %.txt common.txt
9445
f0105f2c424c doc/Makefile: make rst2html and rst2man halt on warnings
Martin Geisler <mg@lazybytes.net>
parents: 9444
diff changeset
    27
	$(PYTHON) rst2man.py --halt warning \
f0105f2c424c doc/Makefile: make rst2html and rst2man halt on warnings
Martin Geisler <mg@lazybytes.net>
parents: 9444
diff changeset
    28
	  --strip-elements-with-class htmlonly $*.txt $*
465
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
    29
9162
2399362b3bb0 doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents: 9161
diff changeset
    30
%.html: %.txt common.txt
9626
d1aa5393bef4 doc: add a style sheet to the generated HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 9445
diff changeset
    31
	$(RST2HTML) --halt warning \
d1aa5393bef4 doc: add a style sheet to the generated HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 9445
diff changeset
    32
	  --link-stylesheet --stylesheet-path style.css $*.txt $*.html
465
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
    33
3872
9d7ac8613340 fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3269
diff changeset
    34
MANIFEST: man html
9401
2a5144687727 doc/Makefile: Don't show Makefile comments in output
Mads Kiilerich <mads@kiilerich.com>
parents: 9400
diff changeset
    35
# tracked files are already in the main MANIFEST
3872
9d7ac8613340 fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3269
diff changeset
    36
	$(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
    37
	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
    38
	  echo "doc/$$i" >> $@ ; \
9d7ac8613340 fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3269
diff changeset
    39
	done
9d7ac8613340 fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 3269
diff changeset
    40
2233
3840cefa5222 Added install target.
wilde@trapperkeeper.sha-bang.de
parents: 1879
diff changeset
    41
install: man
3840cefa5222 Added install target.
wilde@trapperkeeper.sha-bang.de
parents: 1879
diff changeset
    42
	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
    43
	  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
    44
	  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
    45
	  $(INSTALL) $$i $(DESTDIR)$(MANDIR)/$$subdir ; \
2233
3840cefa5222 Added install target.
wilde@trapperkeeper.sha-bang.de
parents: 1879
diff changeset
    46
	done
3840cefa5222 Added install target.
wilde@trapperkeeper.sha-bang.de
parents: 1879
diff changeset
    47
465
f8cb8d082d40 Add a doc makefile
mpm@selenic.com
parents:
diff changeset
    48
clean:
9158
d6eecafaf12f doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents: 9107
diff changeset
    49
	$(RM) $(MAN) $(MAN:%=%.html) *.[0-9].gendoc.txt MANIFEST