Mercurial > hg
annotate doc/Makefile @ 9444:2f7f6e43d52b
doc/Makefile: do not create files in case of errors
When stdout is redirected to the target file directly, the file is
created as an empty file even when an error occurs. Since the file is
there, 'make' wont try to re-create it in subsequent runs.
This fix is similar to the one in a6747ba27d22, but it also takes care
of rst2html and gendoc.py.
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Sun, 13 Sep 2009 17:05:38 +0200 |
parents | ec26d6986d85 |
children | f0105f2c424c |
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 | 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) |
465 | 9 |
1006
b0e581438835
Generate html documentation by default, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
671
diff
changeset
|
10 all: man html |
465 | 11 |
12 man: $(MAN) | |
13 | |
14 html: $(HTML) | |
15 | |
1814
7956893e8458
generate hg manpage from commands.py docstring
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1689
diff
changeset
|
16 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
|
17 touch hg.1.txt |
7956893e8458
generate hg manpage from commands.py docstring
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1689
diff
changeset
|
18 |
9107
309c1d762e8e
doc/Makefile: let hg1.gendoc.txt depend on gendoc.py
Martin Geisler <mg@lazybytes.net>
parents:
8822
diff
changeset
|
19 hg.1.gendoc.txt: gendoc.py ../mercurial/commands.py ../mercurial/help.py |
9444
2f7f6e43d52b
doc/Makefile: do not create files in case of errors
Martin Geisler <mg@lazybytes.net>
parents:
9422
diff
changeset
|
20 ${PYTHON} gendoc.py > $@.tmp |
2f7f6e43d52b
doc/Makefile: do not create files in case of errors
Martin Geisler <mg@lazybytes.net>
parents:
9422
diff
changeset
|
21 mv $@.tmp $@ |
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 |
9444
2f7f6e43d52b
doc/Makefile: do not create files in case of errors
Martin Geisler <mg@lazybytes.net>
parents:
9422
diff
changeset
|
24 $(PYTHON) rst2man.py --strip-elements-with-class htmlonly $*.txt $* |
465 | 25 |
9162
2399362b3bb0
doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
9161
diff
changeset
|
26 %.html: %.txt common.txt |
9444
2f7f6e43d52b
doc/Makefile: do not create files in case of errors
Martin Geisler <mg@lazybytes.net>
parents:
9422
diff
changeset
|
27 $(RST2HTML) $*.txt $*.html |
465 | 28 |
3872
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3269
diff
changeset
|
29 MANIFEST: man html |
9401
2a5144687727
doc/Makefile: Don't show Makefile comments in output
Mads Kiilerich <mads@kiilerich.com>
parents:
9400
diff
changeset
|
30 # tracked files are already in the main MANIFEST |
3872
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3269
diff
changeset
|
31 $(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
|
32 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
|
33 echo "doc/$$i" >> $@ ; \ |
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3269
diff
changeset
|
34 done |
9d7ac8613340
fix MANIFEST generation
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3269
diff
changeset
|
35 |
2233 | 36 install: man |
37 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
|
38 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
|
39 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
|
40 $(INSTALL) $$i $(DESTDIR)$(MANDIR)/$$subdir ; \ |
2233 | 41 done |
42 | |
465 | 43 clean: |
9158
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9107
diff
changeset
|
44 $(RM) $(MAN) $(MAN:%=%.html) *.[0-9].gendoc.txt MANIFEST |