On Tue, 2007-07-03 at 00:40 -0600, Bob Proulx wrote:

> Actually it does depending upon which version of GNU make we are
> talking about.  Older versions such as 3.80 *did* override the
> environment version of SHELL.  Newer versions such as 3.81 now do not.
> What you are saying is definitely true of the newer version but the
> older version did it the other way and it is still quite commonly seen
> in the wild.
> 
> In the NEWS file for GNU make 3.81:
> 
>   * Changes made for POSIX compatibility:
>    - Setting the SHELL make variable does NOT change the value of the
>      SHELL environment variable given to programs invoked by make.  As
>      an enhancement to POSIX, if you export the make variable SHELL then
>      it will be set in the environment, just as before.

> It really is "You can't tell the players without a scorecard."

Note the last sentence in the NEWS file.  If you want to portably set
SHELL in subshells that make invokes, just export it:

        export SHELL := /bin/sh

This will work reliably in all versions of GNU make.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist


_______________________________________________
Help-make mailing list
Help-make@gnu.org
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to