$ make -v | head -n1 GNU Make 3.81 $ rpm -q make make-3.81-3.el5 $ cat Makefile .SUFFIXES: %.tar: % @echo $@ - $^ %.tar.sig: %.tar buildcmd @echo $@ - $^ %.tar.gz: %.tar.sig %.tar @echo $@ - $^ ifeq ($(TERMINAL_RULE),1) %:: %.blarg @echo TERMINAL_RULE else ifeq ($(PREFIX_RULE),1) b%: b%.blarg @echo PREFIX_RULE else %: %.blarg @echo DEFAULT endif @echo $@ - $^ $ touch buildcmd.blarg foo $ make -n foo.tar.gz make: *** No rule to make target `foo.tar.gz'. Stop. $ make -n buildcmd echo DEFAULT echo buildcmd - buildcmd.blarg $ make -n foo.tar.gz TERMINAL_RULE=1 echo foo.tar - foo echo TERMINAL_RULE echo buildcmd - buildcmd.blarg echo foo.tar.sig - foo.tar buildcmd echo foo.tar.gz - foo.tar.sig foo.tar rm buildcmd foo.tar.sig foo.tar $ make -n foo.tar.gz PREFIX_RULE=1 echo foo.tar - foo echo PREFIX_RULE echo buildcmd - buildcmd.blarg echo foo.tar.sig - foo.tar buildcmd echo foo.tar.gz - foo.tar.sig foo.tar rm buildcmd foo.tar.sig foo.tar