1 .PHONY: foo 2 echo PASS phony foo 3 .PHONY: bar 4 .PHONY: test4 5 6 # if no foo target, but foo is .PHONY, don't warn 7 # "Circular baz <- foo dependency dropped.". 8 baz: foo 9 echo baz 10 11 test1: foo bar baz 12 echo PASS test1 from foo bar baz 13 14 test3: 15 touch test4 16 17 test4: 18 echo PASS test4 19 20 # test5 is similar with test1, but foo2 has command. 21 # foo2 runs once to build test5 even if it appears twice 22 # test5 <- foo2, test5 <- baz2 <- foo2. 23 .PHONY: foo2 24 25 foo2: 26 echo foo2 27 baz2: foo2 28 echo baz2 29 30 test5: foo2 bar baz2 31 echo PASS test5 from foo bar baz 32 33