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.". 8baz: foo 9 echo baz 10 11test1: foo bar baz 12 echo PASS test1 from foo bar baz 13 14# Actually, you can use .PHONY! 15test2: .PHONY 16 17test3: 18 touch test4 19 20test4: 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 28foo2: 29 echo foo2 30baz2: foo2 31 echo baz2 32 33test5: foo2 bar baz2 34 echo PASS test5 from foo bar baz 35 36