On 2015-06-03 15:17, Jean Delvare wrote: > Le Wednesday 03 June 2015 à 14:52 +0200, Michal Marek a écrit : >> On 2015-06-03 14:43, Michal Marek wrote: >>> On 2015-06-03 14:39, Jean Delvare wrote: >>>> Would the following alternative implementation work for you? >>>> >>>> --- >>>> Makefile.in | 6 +++++- >>>> 1 file changed, 5 insertions(+), 1 deletion(-) >>>> >>>> --- a/Makefile.in >>>> +++ b/Makefile.in >>>> @@ -225,7 +225,11 @@ doc/reference : bin/quilt $(QUILT:%=quil >>>> done | \ >>>> $(SED) -e 's/\$$EDITOR ([^)]*)/$$EDITOR/' \ >>>> -e '/^$$/!s/^/ /' \ >>>> - -e 's/^ Usage: *//' > $@ >>>> + -e 's/^ Usage: *//' > $@.tmp >>>> + @if test ! -e $@ || ! @DIFF@ -q $@.tmp $@; \ >>>> + then \ >>>> + mv -f $@.tmp $@; \ >>>> + fi >>> >>> Yes. >> >> I take that back. This patch suffers from the same problem as an earlier >> version of mine: As soon as there is a change to one of the scripts, the >> 'reference' file will be regenerated on every make invocation, which >> takes some time (split second, but still noticeable). That's why I added >> the persistent .tmp file in the version I sent. > > My testing says otherwise: > > $ touch quilt/setup.in > $ make > quilt/setup.in -> quilt/setup > $ > > If doc/reference was regenerated then we would see README and quilt.1 > being regenerated too, which isn't the case above. > > So doc/reference.tmp is regenerated (how would it not be if any script > changed?) but doc/reference is not.
Sorry, I meant doc/reference.tmp. The problem is that make does not know about it. It only sees doc/reference, which is older than quilt/setup and executes the rule to remake doc/reference. Which does not remake it, so the doc files will not be remade, but running all the scripts takes some time. Michal _______________________________________________ Quilt-dev mailing list Quilt-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/quilt-dev