I've just started using gnu make. My goal is to get it to work on Windows
XP without a unix shell. I noticed a conversation a few months ago where
David Baird offered a patch so that "SHELL = cmd.exe" would work in a
makefile. I tried his fix, and I see that if I set SHELL = cmd.exe in a
makefile, that make has already done a search for sh.exe, and if found,
sets default_shell. Setting SHELL in the makefile doesn't override this,
so sh.exe is still used. I've tried a few hacks to get around this, but
have not found anything satisfactory. Now I see a patch that attempts to
use -j for cmd.exe, but before I work on that, I know I have to fix the
SHELL problem, because I can't guarantee that all systems that run my
makefiles will be without a sh.exe, and the behavior of the makefile will
vary based on that.
I get the feeling that CMD.EXE is thought of as not much better than
COMMAND.COM, and that's just not the case. You don't have to force CMD.EXE
to use batch mode (although it still requires shell switches to have a "/"
rahter than a "-"), but fixing all of the CMD.EXE stuff looks like a big
job, but before I start I want to see if it is already being done.
Is anyone else in this area of the code? I'd like to work together on it.