1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
$(shell \ mkdir foo; \ touch a.c b.c c.out foo/d.c; \ sleep 2; \ touch c.in; \ ) VPATH = foo all: c.out prog cat $< test "$$(cat $<)" = "remadec.out" @echo TEST-PASS *.out: %.out: %.in test "$@" = c.out test "$<" = c.in printf "remade$@" >$@ prog: *.c test "$^" = "a.c b.c" touch $@