At 05:38 PM 8/17/2006, Christopher Faylor wrote: >On Fri, Aug 18, 2006 at 12:21:41AM +0300, Eli Zaretskii wrote: >>> Date: Thu, 17 Aug 2006 17:02:30 -0400 >>> From: Bill Hoffman >>> >>> At 04:48 PM 8/17/2006, Christopher Faylor wrote: >>> >>> >I don't understand why MinGW's make should be using anything like /bin/sh. >>> >Shouldn't it be using cmd.exe or command.com? >>> > >>> It seems that if it finds sh.exe in the path it uses it. >> >>Yes. This is by design (not mine, long before I started using the >>Windows port, let alone contributing to it). I'm guessing that the >>reason was twofold: (1) relative stupidity of Windows shells of yore, >>and (2) lots of Makefile's out there which depend on a Unixy shell, >>but don't say "SHELL = /bin/sh" explicitly. >> >>Make 3.81 adds a feature whereby you can say "SHELL = cmd.exe" and >>have it use CMD even if sh.exe is on your PATH. Previous versions of >>Make didn't allow even that. > >This behavior was controlled under the old Cygwin make via a --win32 >option (an option that RMS repeatedly asked me to change, FWIW). > >So, it sounds like one solution to the problem might be to just use >SHELL=cmd.exe.
But I want it to use sh.exe. The makefiles are mostly POSIX, the only non-POSIX thing in them is the driver letter stuff. C:/foo/bar.C. So cmd.exe does not like paths like that. Also, cmd.exe has problems with long command lines. MSYS make would be a good choice, but it has the bad habit of changing command line options of dos programs into full paths to the msys mount point. -Bill _______________________________________________ Make-w32 mailing list Make-w32@gnu.org http://lists.gnu.org/mailman/listinfo/make-w32