title: Makefile syntax: what is $(RM)?
body: <p>I saw the following Makefile online (<a href="http://qiita.com/j8takagi/items/74232a00cc33623f7844" rel="noreferrer">here</a>):</p>
  
  <pre><code>hello:
  
  clean:
      $(RM) hello
  </code></pre>
  
  <p>When there is a hello.c file in the same directory with the Makefile, <code>make</code> command in Terminal builds <code>hello</code> executable. When <code>make clean</code> is run, <code>hello</code> executable is removed by <code>rm -f hello</code> instead. So, <code>$(RM) hello</code> means <code>rm -f hello</code> here.</p>
  
  <ul>
  <li>What does $(FOO) mean? Is it a special syntax of Makefile, or something bash command?</li>
  <li>Can I run other commands as well as $(RM), like $(PWD)?</li>
  </ul>