> 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.


Wonder why some special characters are allowed to be escaped while some others 
are not. For example, I can easily escape # like this:

LIST=a b c
LISTP=$(addprefix "\#", $(LIST))

all:
    echo $(LISTP)


> 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