How to escape ${something} (not to expand it) in a Makefile ?

Scot Hetzel swhetzel at
Fri Jul 30 20:02:25 PDT 2004

On Fri, 30 Jul 2004 22:36:46 +0300, Ion-Mihai Tetcu
<itetcu at> wrote:
> Hi,
> I'm out of ideas with this. Bellow I need to have ${LOCALBASE} expanded
> to its value and the rest of $... to be passed verbatim.
> Each combination of quoting and escaping I've tried the last 2 1/2 hours
> dons't work. Could someone please point me to the right doc to read or
> explain how does this work ?
> RUN_DEPENDS+='--with-delivery-agent=${LOCALBASE}/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} $u'
You would use  \$ to escape the dollar sign in a Makefile.  Also you
may need to use three \  ( \\\$ ).

Also is the above RUN_DEPENDS for a port that your working on?
If it is, then the RUN_DEPENDS is wrong, it is supposed to point to a
program/port that it depends on at run time.

RUN_DEPENDS+= ${LOCALBASE}/cyrus/bin/deliver:${PORTSDIR}/security/cyrus-sasl

Then you use a CONFIGURE_ARG for the --with-delivery-agent setting.


More information about the freebsd-ports mailing list