What is the meaning of a double dollar sign in bash/Makefile?

As per gnu make official doc:

Variable and function references in recipes have identical syntax and
semantics to references elsewhere in the makefile. They also have the
same quoting rules: if you want a dollar sign to appear in your
recipe, you must double it (‘$$’). For shells like the default shell,
that use dollar signs to introduce variables, it’s important to keep
clear in your mind whether the variable you want to reference is a
make variable (use a single dollar sign) or a shell variable (use two
dollar signs).

So in short:

  • makefile variable => use a single dollar sign
  • shell variable => use two dollar signs

Leave a Comment