[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Quilt-dev] [PATCH 1/3] Avoid unnecessary rebuilds of the manpage an
From: |
Michal Marek |
Subject: |
Re: [Quilt-dev] [PATCH 1/3] Avoid unnecessary rebuilds of the manpage and README |
Date: |
Wed, 03 Jun 2015 15:27:13 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
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: *//' > address@hidden
>>>> + @if test ! -e $@ || ! @DIFF@ -q address@hidden $@;
>>>> \
>>>> + then \
>>>> + mv -f address@hidden $@;
>>>> \
>>>> + 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