Ævar Arnfjörð Bjarmason [off-list ref] writes:
Use the GNU make ".DELETE_ON_ERROR" flag.
Yay!
With versions of $(MAKE) where this feature is available, it is far
more preferrable to use it than "generate into temporary and rename
to the final" dance.
We do require / depend on GNU but I do not offhand know if this is
available in all versions that still matter. If we know we can
assume the presence of this feature the I do not mind if we jump
directly to this step without those "do the same for $(CC)" steps
(which I deem crazy) before it.
On Mon, Mar 29 2021, Junio C Hamano wrote:
Ævar Arnfjörð Bjarmason [off-list ref] writes:
quoted
Use the GNU make ".DELETE_ON_ERROR" flag.
Yay!
With versions of $(MAKE) where this feature is available, it is far
more preferrable to use it than "generate into temporary and rename
to the final" dance.
We do require / depend on GNU but I do not offhand know if this is
available in all versions that still matter. If we know we can
assume the presence of this feature the I do not mind if we jump
directly to this step without those "do the same for $(CC)" steps
(which I deem crazy) before it.
Even if it's not available in all versions that's OK. You just won't get
the nicer removal behavior on on error on such a jurassic gmake, but
you'll probably have way bigger issues with your late-90s-era software.
It's not a syntax error on a gmake or other make that doesn't know about
it either, i.e. you can also add a target like:
.THIS_DOES_NOT_EXIST_AS_A_GMAKE_FEATURE:
And gmake willl happily ignore it.
On Tue, Mar 30, 2021 at 01:31:40AM +0200, Ævar Arnfjörð Bjarmason wrote:
quoted
quoted
Use the GNU make ".DELETE_ON_ERROR" flag.
Yay!
With versions of $(MAKE) where this feature is available, it is far
more preferrable to use it than "generate into temporary and rename
to the final" dance.
We do require / depend on GNU but I do not offhand know if this is
available in all versions that still matter. If we know we can
assume the presence of this feature the I do not mind if we jump
directly to this step without those "do the same for $(CC)" steps
(which I deem crazy) before it.
Even if it's not available in all versions that's OK. You just won't get
the nicer removal behavior on on error on such a jurassic gmake, but
you'll probably have way bigger issues with your late-90s-era software.
It's not a syntax error on a gmake or other make that doesn't know about
it either, i.e. you can also add a target like:
.THIS_DOES_NOT_EXIST_AS_A_GMAKE_FEATURE:
And gmake willl happily ignore it.
Yes, I think it's fine to treat it as "nice if we have it, but OK
otherwise". But also, .DELETE_ON_ERROR first shows up in the GNU make
git repository in version 3.71.5 from 1994. So I think we can probably
just assume it's everywhere.
-Peff