% cat Makefile .SUFFIXES: %.o: %.c touch $@ %.o: %.d touch $@
% rm -f a.o b.o; touch a.c b.d; make a.o b.o removed 'a.o' removed 'b.o' touch a.o touch b.o The behavior is similar to double-colon rules. It can not be explained by
If more than one rule gives a recipe for the same file, make uses the last one given and prints an error message.
in https://www.gnu.org/software/make/manual/html_node/Multiple-Rules.html#Multiple-Rules Context: I intend to use such multiple rules for one %.o target in an lldb Makefile https://reviews.llvm.org/D94890