title: make does not require rule for phony prerequisite
body: <pre><code>.PHONY: foo bar baz
  all: foo bar baz foo bar
      # @=$@
      # ?=$?
      # &lt;=$&lt;
      # ^=$^
      # +=$+
  </code></pre>
  
  <p>Here is the output of this:</p>
  
  <pre><code># @=all
  # ?=foo bar baz
  # &lt;=foo
  # ^=foo bar baz
  # +=foo bar baz foo bar
  </code></pre>
  
  <p>If if comment first line as:</p>
  
  <pre><code>#.PHONY: foo bar baz
  </code></pre>
  
  <p>Then output is:</p>
  
  <pre><code>make: *** No rule to make target `foo', needed by `all'.  Stop.
  </code></pre>
  
  <p>i have two question:  </p>
  
  <p>1) Why make does not complain for a rule in first case when "foo bar and baz" are declared PHONY. </p>
  
  <p>2) I started commands with a pound(#). Why these commands are not treated as a comment.</p>