Q:

Meaning of pattern in rm command

I found this rm command in a Makefile. 
rm -f $(ODIR)/*.o *~ $(PROG) $(INCDIR)/*~
What is the meaning of *~?

A:

*~ is not special. It matches files that end with the ~ character (often editor backup files).

A:

emacs is one program which leaves files ending with ~ around as backup files.  So the  creator of the makefile was probably an emacs user who wanted this target (perhaps clean?) to clean up .o files and executables and emacs droppings.

