Mercurial > hg
view 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 |
line wrap: on
line source
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 > $@.tmp mv $@.tmp $@ %: %.txt common.txt $(PYTHON) rst2man.py --strip-elements-with-class htmlonly $*.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