From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | cedric(at)2ndquadrant(dot)com, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Makefiles don't seem to remember to rebuild everything anymore |
Date: | 2012-12-17 18:06:15 |
Message-ID: | 50CF5F17.9030803@eisentraut.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 12/17/12 8:46 AM, Peter Eisentraut wrote:
> On 12/15/12 11:23 AM, Tom Lane wrote:
>> =?iso-8859-15?q?C=E9dric_Villemain?= <cedric(at)2ndquadrant(dot)com> writes:
>>> Le vendredi 14 décembre 2012 23:02:11, Tom Lane a écrit :
>>>> $ rm gram.o
>>>> rm: remove regular file `gram.o'? y
>>>> $ make
>>>> make: Nothing to be done for `all'.
>>>>
>>>> WTF?
>>
>>> A previous patch changed the ".SECONDARY" from an if() section to the main
>>> section of src/Makefile.global.in,
>>
>> Hm. I should have made clear that this isn't specific to gram.o ---
>> I also tried "rm analyze.o" and that didn't trigger any action either.
>> So it doesn't seem to be a case of the bison rule chain being
>> specifically at fault.
>>
>> I do suspect that this was triggered by some fairly recent makefile
>> change, though, because I don't recall having seen anything as odd
>> as this until recently.
>
> I can see it in 9.1 but not in 9.0, but I haven't had the time to
> pinpoint the exact change.
The change happened here:
[5c788e7cf5026be1cad634f12bb42111a411cd9e] When in automatic dependency
mode, never delete any intermediate files automatically.
I suppose that you are not using automatic dependency mode, so you are
seeing the change just now with the recent introduction of global
.SECONDARY.
This is working correctly, as far as make is concerned. There is no
configuration knob in make that says, build all the files you can think
of even though they are not required for the target I gave you.
If you are not happy with the current behavior, I suppose the best way
forward would be to revert the global .SECONDARY setting and instead
explicitly list the files you don't want deleted in localized .SECONDARY
targets (something like .SECONDARY: gram.c). Needs some testing, of course.
From | Date | Subject | |
---|---|---|---|
Next Message | Pavan Deolasee | 2012-12-17 18:15:51 | Re: XLByte* usage |
Previous Message | Pavan Deolasee | 2012-12-17 17:56:21 | Re: XLByte* usage |