targets = prog1 prog2 prog3 all: $(targets) $(targets) : prog% : @echo "Starting to generate $@..." @sleep $* @echo "...hitting some error for $@" ; exit 42 @echo "Completed $@."