help-make
[Top][All Lists]
Advanced

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

Re: SECONDEXPANSION and $(shell) bug in make 3.82.90


From: Paul Smith
Subject: Re: SECONDEXPANSION and $(shell) bug in make 3.82.90
Date: Thu, 12 Apr 2012 17:26:34 -0400

On Thu, 2012-04-12 at 16:01 -0400, Martin d'Anjou wrote:
> Here is the makefile:
> .SECONDEXPANSION:
> all: $$(shell find . \( -name "*.swp" \))
>         echo $<

Did this used to work?  I'd be surprised if did; if so it was probably a
bug in the old version of make.

You need to be sure that make knows where the variable ends, so that
requires quoting the end paren at least from make, AND you need to quote
the parens to the shell as well.

Does it work if you just switch to the alternative delimiters:

  all: $${shell find . \( name "*.swp" \)}

?

What about if you put the command in a variable?

  find := find . \( name "*.swp" \)
  all: $$(shell $$(find))





reply via email to

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