derived.c: derived.c.pl $(MODULES.pm) perl derived.c.pl > $@ #### tests: source.c.diff source.c.diff: source.c.gen source.c $(DIFF) $^ > $@ || touch source.c.gen # rerun next time if fail source.c.gen: source.c.pl $(MODULES.pm) perl source.c.pl > $@ % make tests … % make tests DIFF=gvimdiff #### % make tests DIFF=cp