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 # Actually, you can use .PHONY! 15 test2: .PHONY 16 17 test3: 18 touch test4 19 20 test4: 21 echo PASS test4 22 23 # test5 is similar with test1, but foo2 has command. 24 # foo2 runs once to build test5 even if it appears twice 25 # test5 <- foo2, test5 <- baz2 <- foo2. 26 .PHONY: foo2 27 28 foo2: 29 echo foo2 30 baz2: foo2 31 echo baz2 32 33 test5: foo2 bar baz2 34 echo PASS test5 from foo bar baz 35 36