On 07/28/2010 12:50 AM, Paul Smith wrote: > * WARNING: Backward-incompatibility! > The POSIX standard for make was changed in the 2008 version in a > fundamentally incompatible way: make is required to invoke the shell as if > the '-e' flag were provided. Because this would break many makefiles that > have been written to conform to the original text of the standard, the > default behavior of GNU make remains to invoke the shell with simply '-c'. > However, any makefile specifying the .POSIX special target will follow the > new POSIX standard and pass '-e' to the shell. See also .SHELLFLAGS > below.
It's not obvious from this announcement (and I haven't been following the make lists) whether you are aware: The POSIX 2008 wording has a bug. The intent of the Austin Group is that -e must NOT be provided if some other mechanism ignores errors for a particular shell invocation (such as starting a command with - or invoking 'make -i'): http://austingroupbugs.net/view.php?id=257 > > * New special variable: .SHELLFLAGS allows you to change the options passed > to the shell when it invokes recipes. By default the value will be "-c" > (or "-ec" if .POSIX is set). Given that recent POSIX ruling, I'm not sure what impact it should have on .SHELLFLAGS. -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make