On 12/22/08, Mayuresh <[email protected]> wrote:
> I am not able to find the right way to escape bracket in particular in the
> arguments of a function. See example below:
>
> LIST=a b c
> LISTP=$(addprefix "\(", $(LIST))
>
> all:
>     echo $(LISTP)
>
> I get the error:
> makefile:2: *** unterminated call to function `addprefix': missing `)'.
> Stop.
>
> I can work around this by defining bracket as a variable and then using it
> in
> place of actual bracket, though it will be nicer if I could escape the
> bracket directly. Can someone help?
>
> Mayuresh.

Saying something along the lines of ...

PAREN :=(
LIST :=a b c
LISTP := $(addprefix $(PAREN), $(LIST))

all:
     echo "$(LISTP)"

... is probably what you want.

1. Most special characters in GNU Make have to be parametrized and
often times $(subst)'ed in place of existing variables.
2. Not inserting quotes around the echo string will result in shell
syntax failures because `(' is a delimiter in bourne shell.

Cheers,
-Garrett


_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to