title: Why does 'touch' ing makefile along with all source file does not rebuild anything? How can I solve this?
body: <p>I have some source files like <code>file1</code>, <code>file2</code> and <code>file3</code> and a <code>Makefile</code>:</p>
  
  <pre><code>tar: file1 file2 file3
      @echo hello
  </code></pre>
  
  <p>Now when I <code>touch file1</code>, it rebuilds <code>file1</code> and <code>tar</code>.</p>
  
  <p>But when I <code>touch</code> all source files and <code>Makefile</code>, it does not rebuild anything. It should rebuild all source files. Why so?</p>
  
  <p>Simple solution is I <code>touch</code> all file but <code>Makefile</code>, but it becomes difficult when I have say 20 source files. What is the solution?</p>