Why does 'touch' ing makefile along with all source file does not rebuild anything? How can I solve this?
<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>