Take a look at the GNU make manual (http://www.gnu.org/software/make/manual/html_mono/make.html) and read section 5.2 "Command Execution". Note that it says "By default, the program `/bin/sh' is used." But do read the whole section for background.

-David Boyce

At 05:32 PM 5/10/2005, Adam Heinz wrote:
[ Windows XP SP 2, Visual Studio 2003, Cygwin 1.5.12, Make 3.80 ]

I'm using a test makefile with a single goal:

all:
        @echo COMSPEC = $(COMSPEC)
        @echo MAKESHELL = $(MAKESHELL)
        @echo SHELL = $(SHELL)

When I have Visual Studio drive the makefile with

        make -k -C $(InputDir)\.. all

I get

        COMSPEC = /bin/bash
        MAKESHELL = /bin/bash
        SHELL = /bin/sh.exe

But when I tell Visual Studio to:

        echo COMSPEC = $(COMSPEC)
        echo MAKESHELL = $(MAKESHELL)
        echo SHELL = $(SHELL)

I get

        COMSPEC = /bin/bash
        MAKESHELL = /bin/bash
        SHELL = /bin/bash

which is the desired behavior -- mirroring the environment that I launched
Visual Studio in.

Why is make substituting in a default $SHELL?

Adam


_______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make




_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to