Implicit Rules Rules for common operations are predefined You can define new implicit rules %.old: %.c cp $*.c $*.old SRC = $(wildcard *.c) old: $(SRC:.c=.old) "make -d" prints a lot of debugging information