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

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to