On Tue, 2005-05-10 at 14:32 -0700, Adam Heinz wrote: > Why is make substituting in a default $SHELL?
GNU Make sets SHELL and doesn't take it from the environment. Here's the explanation from the GNU Make manual: "Unlike most variables, the variable `SHELL' is never set from the environment. This is because the `SHELL' environment variable is used to specify your personal choice of shell program for interactive use. It would be very bad for personal choices like this to affect the functioning of makefiles. *Note Variables from the Environment: Environment. However, on MS-DOS and MS-Windows the value of `SHELL' in the environment *is* used, since on those systems most users do not set this variable, and therefore it is most likely set specifically to be used by `make'. On MS-DOS, if the setting of `SHELL' is not suitable for `make', you can set the variable `MAKESHELL' to the shell that `make' should use; this will override the value of `SHELL'." There's a long discussion of SHELL on the various platforms in the GNU Make documentation: http://www.gnu.org/software/make/manual/html_chapter/make_5.html#SEC54 You can override GNU Make's behaviour if you need to by setting SHELL in a Makefile. John. -- John Graham-Cumming Home: http://www.jgc.org/ Work: http://www.electric-cloud.com/ POPFile: http://getpopfile.org/ GNU Make Standard Library: http://gmsl.sf.net/ _______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
