comparison Makefile @ 20080:c845b1a95eed

Makefile: intermediate steps work with temporary copy of hg.pot In case of abortion or a failing step, the target file remains untouched instead of being in an intermediate state.
author Simon Heimberg <simohe@besonet.ch>
date Tue, 05 Nov 2013 09:43:26 +0100
parents 23edc6673f0d
children 872f81de2865
comparison
equal deleted inserted replaced
20079:d4838302305c 20080:c845b1a95eed
106 $(PYTHON) i18n/hggettext mercurial/commands.py \ 106 $(PYTHON) i18n/hggettext mercurial/commands.py \
107 hgext/*.py hgext/*/__init__.py \ 107 hgext/*.py hgext/*/__init__.py \
108 mercurial/fileset.py mercurial/revset.py \ 108 mercurial/fileset.py mercurial/revset.py \
109 mercurial/templatefilters.py mercurial/templatekw.py \ 109 mercurial/templatefilters.py mercurial/templatekw.py \
110 mercurial/filemerge.py \ 110 mercurial/filemerge.py \
111 $(DOCFILES) > i18n/hg.pot 111 $(DOCFILES) > i18n/hg.pot~
112 # All strings marked for translation in Mercurial contain 112 # All strings marked for translation in Mercurial contain
113 # ASCII characters only. But some files contain string 113 # ASCII characters only. But some files contain string
114 # literals like this '\037\213'. xgettext thinks it has to 114 # literals like this '\037\213'. xgettext thinks it has to
115 # parse them even though they are not marked for translation. 115 # parse them even though they are not marked for translation.
116 # Extracting with an explicit encoding of ISO-8859-1 will make 116 # Extracting with an explicit encoding of ISO-8859-1 will make
118 echo $(PYFILES) | xargs \ 118 echo $(PYFILES) | xargs \
119 xgettext --package-name "Mercurial" \ 119 xgettext --package-name "Mercurial" \
120 --msgid-bugs-address "<mercurial-devel@selenic.com>" \ 120 --msgid-bugs-address "<mercurial-devel@selenic.com>" \
121 --copyright-holder "Matt Mackall <mpm@selenic.com> and others" \ 121 --copyright-holder "Matt Mackall <mpm@selenic.com> and others" \
122 --from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \ 122 --from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \
123 -d hg -p i18n -o hg.pot 123 -d hg -p i18n -o hg.pot~
124 $(PYTHON) i18n/posplit i18n/hg.pot 124 $(PYTHON) i18n/posplit i18n/hg.pot~
125 # The target file is not created before the last step. So it never is in
126 # an intermediate state.
127 mv -f i18n/hg.pot~ i18n/hg.pot
125 128
126 %.po: i18n/hg.pot 129 %.po: i18n/hg.pot
127 # work on a temporary copy for never having a half completed target 130 # work on a temporary copy for never having a half completed target
128 cp $@ $@.tmp 131 cp $@ $@.tmp
129 msgmerge --no-location --update $@.tmp $^ 132 msgmerge --no-location --update $@.tmp $^