title: How does Makefile know that a file changed and then recompile it?
body: <p>Just out of curiosity, how does Makefile know that a file changed (and then recompile it)? Is it up to <code>make</code>? Is it up to the compiler? If so, is it language dependent?</p>