> From: "grischka" <[EMAIL PROTECTED]> > Date: Fri, 19 Oct 2007 19:55:54 +0200 > Cc: make-w32@gnu.org > > It is one of gmake's undocumented non-features with SHELL on > windows.
I always wonder why people feel a need to post such derogatory comments. Is there some kind of satisfaction in it? > I don't know who benefits from it but so far nobody dared to > document it, either. I'm not sure it should be documented: the Windows port just behaves the same as the Unix original. Here's the relevant fragment executed by Make on Unix (job.c, around line 2100): # ifdef __EMX__ ... # else shell = getenv ("SHELL"); # endif if (shell == 0) shell = default_shell; and default_shell is "/bin/sh" on Unix, see line 74 in the same file. The same is done around line 2355 in job.c: if (shell == 0) shell = default_shell; Granted, the code in the Windows port that does the equivalent is more complicated, but the net effect, as far as user is concerned, is the same: sh.exe is used if it is available. > Certainly it conflicts with the general rule that for makefile > portability reasons the SHELL to be used shall not depend on > individual environment settings. The OP's report was not about SHELL in the environment, it was about setting SHELL in the Makefile. Certainly, you won't claim that Make ignores _that_ on Unix, would you? And if by ``individual environment settings'' you mean the value of PATH, then I don't see how Make can do better, since, unlike on Posix platforms, there's no "/bin" directory on your garden-variety Windows box. So it looks along PATH, which is a reasonable thing to do, IMO. _______________________________________________ Make-w32 mailing list Make-w32@gnu.org http://lists.gnu.org/mailman/listinfo/make-w32