To start with: the actual command must be on the next line (or at least that is the case with GNU Make, it might be different with other Make’s – I’m not sure of that)
clean:
rm -rf *.o
(note, you need a TAB before rm -rf *.o as in every rule)
Making it silent can be done by prefixing a @:
so your makefile becomes
clean:
@rm -rf *.o
If there are no *.o files to delete, you might still end up with an error message. To suppress these, add the following
clean:
-@rm -rf *.o 2>/dev/null || true
2>/dev/nullpipes any error message to /dev/null – so you won’t see any errors- the
-in front of the command makes sure thatmakeignores a non-zero return code