A clean and efficient makefile for a simple c program
clean and all are not files should therefore be declared as phony. 

.PHONY: clean all
all : $(PROG1) $(PROG2) $(PROG3)
...
clean :
    /bin/rm -f *.o a.out $(PROG1) $(PROG2) $(PROG3)