Follow-up Comment #1, bug #59154 (project make):

I thought this might be related to but make is exec()ing
the wrong command:

martind@sirius:~/tmp/make-59154$ export PUB="$(echo hello; echo world)"
martind@sirius:~/tmp/make-59154$ cat Makefile
foo:; echo PUB is "$(PUB)"
martind@sirius:~/tmp/make-59154$ strace -f make 2>&1 | grep execve
execve("/usr/bin/make", ["make"], [/* 209 vars */]) = 0
[pid 17978] execve("/bin/sh", ["/bin/sh", "-c", "echo PUB is \"hello"], [/*
212 vars */]) = 0

As is suggested by the make output:

martind@sirius:~/tmp/make-59154$ make
echo PUB is "hello
/bin/sh: 1: Syntax error: Unterminated quoted string
Makefile:1: recipe for target 'foo' failed
make: *** [foo] Error 2

make -p says PUB has an appropriate-looking definition:

define PUB

I got the same error from make-3.81, so not a recent regression, which makes
me more surprised that I haven't tripped on this.


Reply to this item at:


  Message sent via Savannah

Reply via email to