title: what is the difference between 'make after make clean' and just 'make'?
body: <p>there are C files in a directory and I have a makefile.
  I usually use makefile to compile.
  I have been wandering the role of the 'make clean'
  'make clean' is just to remove files.
  Though I didn't use 'make clean', t
  he error and warning was shown up when there were something wrong.
  I cannot realize why I need to use 'make clean' whenever I change the source file.</p>