title: make without running any recipes
body: <p>Consider the following really silly makefiles:</p>
  
  <pre><code># makefile
  foo :
      @$(MAKE) -C other
  </code></pre>
  
  
  
  <pre><code># other/makefile
  bar :
      @echo HELLO
  </code></pre>
  
  <p>Nothing complicated. When I run <code>$make</code>, I get the expected:</p>
  
  <pre><code>$ make
  make[1]: Entering directory `[...]/other'
  HELLO
  make[1]: Leaving directory `[...]/other'
  </code></pre>
  
  <p>However, when I run <code>make -pn</code>, my output leads with:</p>
  
  <pre><code># GNU Make 3.82
  # Built for x86_64-redhat-linux-gnu
  # Copyright (C) 2010  Free Software Foundation, Inc.
  # License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
  # This is free software: you are free to change and redistribute it.
  # There is NO WARRANTY, to the extent permitted by law.
  make -C other
  # GNU Make 3.82
  # Built for x86_64-redhat-linux-gnu
  # Copyright (C) 2010  Free Software Foundation, Inc.
  # License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;
  # This is free software: you are free to change and redistribute it.
  # There is NO WARRANTY, to the extent permitted by law.
  # make[1]: Entering directory `[...]/other'
  echo HELLO
  </code></pre>
  
  <p>Why the recursive invocation of <code>make</code> in <code>-pn</code>? I thought the recipes weren't supposed to be invoked. How do I just get <code>make</code> to dump the complete rule database, without running <em>anything</em>?</p>