On Sat, May 4, 2013 at 9:23 AM, Eli Zaretskii <e...@gnu.org> wrote:

> > From: Duane Campbell <dcampb...@nvidia.com>
> > CC: "make-w32@gnu.org" <make-w32@gnu.org>, Duane Campbell
> >       <dcampb...@nvidia.com>
> > Date: Fri, 3 May 2013 16:21:23 -0700
> >
> > I think gnu-make users need to be responsible for quoting (and proper
> slashes) for the cmd.exe shell.
>
> I couldn't agree more.  Make cannot fix something the shell doesn't
> accept on its command line.  Make can only be required not to ruin
> something a shell will accept.


Right. I think this one will qualify then:

SHELL=cmd.exe
foo:
    $(MAKE) 'a b'

will complain that there is no target "a b", while

SHELL=cmd.exe
foo:
    call $(MAKE) 'a b'

will complain that there is no target "'a".

However, if I replace $(MAKE) with (cygwin's) touch, then both makefiles
will create the file "a b".

So, it seems that the CreateProcess call from make does not correspond
exactly to the cmd.exe string, but to something very similar which some
runtimes consider equivalent.

Erik
_______________________________________________
Make-w32 mailing list
Make-w32@gnu.org
https://lists.gnu.org/mailman/listinfo/make-w32

Reply via email to