Wed, 31 Dec 2014 07:16:47 +0100
Revert simplistic fix pending revisit of Mozilla integration attempt.
1 $(shell \
2 mkdir -p src/subd; \
3 mkdir subd; \
4 touch dummy; \
5 sleep 2; \
6 touch subd/test.out src/subd/test.in2; \
7 sleep 2; \
8 touch subd/test.out2 src/subd/test.in; \
9 sleep 2; \
10 touch subd/host_test.out subd/host_test.out2; \
11 sleep 2; \
12 touch host_prog; \
13 )
15 VPATH = src
17 all: prog host_prog prog dir/
18 test "$@" = "all"
19 test "$<" = "prog"
20 test "$^" = "prog host_prog dir"
21 test "$?" = "prog host_prog dir"
22 test "$+" = "prog host_prog prog dir"
23 test "$(@D)" = "."
24 test "$(@F)" = "all"
25 test "$(<D)" = "."
26 test "$(<F)" = "prog"
27 test "$(^D)" = ". . ."
28 test "$(^F)" = "prog host_prog dir"
29 test "$(?D)" = ". . ."
30 test "$(?F)" = "prog host_prog dir"
31 test "$(+D)" = ". . . ."
32 test "$(+F)" = "prog host_prog prog dir"
33 @echo TEST-PASS
35 dir/:
36 test "$@" = "dir"
37 test "$<" = ""
38 test "$^" = ""
39 test "$(@D)" = "."
40 test "$(@F)" = "dir"
41 mkdir $@
43 prog: subd/test.out subd/test.out2
44 test "$@" = "prog"
45 test "$<" = "subd/test.out"
46 test "$^" = "subd/test.out subd/test.out2" # ^
47 test "$?" = "subd/test.out subd/test.out2" # ?
48 cat $<
49 test "$$(cat $<)" = "remade"
50 test "$$(cat $(word 2,$^))" = ""
52 host_prog: subd/host_test.out subd/host_test.out2
53 @echo TEST-FAIL No need to remake
55 %.out: %.in dummy
56 test "$@" = "subd/test.out"
57 test "$*" = "subd/test" # *
58 test "$<" = "src/subd/test.in" # <
59 test "$^" = "src/subd/test.in dummy" # ^
60 test "$?" = "src/subd/test.in" # ?
61 test "$+" = "src/subd/test.in dummy" # +
62 test "$(@D)" = "subd"
63 test "$(@F)" = "test.out"
64 test "$(*D)" = "subd"
65 test "$(*F)" = "test"
66 test "$(<D)" = "src/subd"
67 test "$(<F)" = "test.in"
68 test "$(^D)" = "src/subd ." # ^D
69 test "$(^F)" = "test.in dummy"
70 test "$(?D)" = "src/subd"
71 test "$(?F)" = "test.in"
72 test "$(+D)" = "src/subd ." # +D
73 test "$(+F)" = "test.in dummy"
74 printf "remade" >$@
76 %.out2: %.in2 dummy
77 @echo TEST_FAIL No need to remake
79 .PHONY: all