BATCH_MODE_ONLY_SHELL configuration fails with unixy shells
"Russo, David" <[email protected]>
| Newsgroups | gmane.comp.gnu.make.windows |
|---|---|
| Message-ID | <[email protected]> |
There seems to be a bug in make 3.81 when make is configured with BATCH_MODE_ONLY_SHELL enabled. The problem only occurs when BATCH_MODE_ONLY_SHELL is enabled, make determines the shell is "unixy", and a recipe has a continuation line.
If make determines that the shell is "unixy", the generated shell script used to run a rule containing a continuation character will have one too many '\'s. For example, the following makefile fails:
all:
echo this is\
a test
because the generated "batch" file used to run the echo command above is:
echo this is\\
a test
This results in two commands being executed (by unixy shells); "echo" and "a". Clearly not what was intended.
If I'm not mistaken, the fix is quite simple and I've attached a patch to a description of the problem here: http://savannah.gnu.org/bugs/?24405. I'd appreciate any review/comments of the bug and the patch.
Thanks,
dave