Changed the automatic dependency generation to use -M instead of -MM so that we also recompile if system headers change at all (which really shoudn't happen too often).