[Top][All Lists]

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

Re: How to echo a "$" to a file in

From: Stefano Lattarini
Subject: Re: How to echo a "$" to a file in
Date: Fri, 2 Jul 2010 16:43:44 +0200
User-agent: KMail/1.12.1 (Linux/2.6.30-2-686; KDE/4.3.4; i686; ; )

At Friday 02 July 2010, Lyre  wrote:
>  In, I wrote an custom rule which append the program's
>  path to the startup script. it looks like:
>     echo $(datadir)/myprogram/program-name $OPTIONS >> /bin/program-name
> I want to get :
>     /usr/share/myprogram/program-name $OPTIONS
> however, waht I accully get is :
>     /usr/share/myprogram/program-name PTIONS
That's because make interprets the `$O' in `$OPTION' as a make macro
expansion, and since you didn't define `O' anywere, it comes out empty.
To obtain a literal `$', use:

  echo $(datadir)/myprogram/program-name $$OPTIONS >> /bin/program-name

But note that, this way, the shell will see the `$OPTIONS' token, and will
expand it as a shell variable expansion; if you don't want this, use:

  echo '$(datadir)/myprogram/program-name $$OPTIONS' >> /bin/program-name


BTW, your question was really about make, not automake; if you are using
GNU make, then you can refer to its reference manual:
or you can find more information about the standardized make behaviour here:


reply via email to

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