title: gcc -M flag (phony runes) fast compilation
body: <p>I have a relatively large project, it's compilation takes normally 13 mins.</p>
  <p>I was trying to optimize it's compilation and I saw the -M flag in gcc man, it has something to do with phony rules in makefile.
  I'm not an makefile expert, but adding this -M caused compilation to run in only 2 mins, can someone explain what this -M does and how I can take advantage of it to speed up the compilation?!</p>
  <p>Thanks a lot!</p>