make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: With SHELL=cmd, make fails to execute bat file paths starting with .


From: Erik Carstensen
Subject: Re: With SHELL=cmd, make fails to execute bat file paths starting with ../
Date: Wed, 8 May 2013 09:49:22 +0200

On Sat, May 4, 2013 at 9:23 AM, Eli Zaretskii <address@hidden> wrote:
> From: Duane Campbell <address@hidden>
> CC: "address@hidden" <address@hidden>, Duane Campbell
>       <address@hidden>
> 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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]