clean vs. clobber

Keith is right, clean and clobber can mean whatever the author of the makefile wants them to.

In practice though I think typically the difference between the two is this:

  • clean: deletes all the object files created
  • clobber: deletes all the object files AND the intermediate dependency files generated which specify the dependencies of the cpp files.

At least that has been the case in the projects I have worked on.


I think you're saying that you run the command

make clean

or

make clobber

These are targets specified in your Makefile. Their meaning is determined by what the Makefile says; they're not predefined. Typically they'd both remove files (executables, object files) generated when you compile. The difference, if any, between clean and clobber depends on the whim of the author of the Makefile.