我尝试执行以下操作(在网站上找到)
.PHONY: coat shoes mobile sweater socks trousers shirt pants undershirt
# target prerequisite command
# ------------------------------------------------
coat: shoes mobile sweater; @echo put on $@
shoes: socks trousers; @echo put on $@
mobile: trousers; @echo put on $@
sweater: shirt; @echo put on $@
socks: ; @echo put on $@
trousers: pants shirt; @echo put on $@
shirt: undershirt; @echo put on $@
pants: ; @echo put on $@
undershirt: ; @echo put on $@
但是我在cygwin上执行时遇到循环依赖错误。 这是输出
1 MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
2 Error: Circular dependency exists in makefile
3 socks -> socks
4 Error: Circular dependency exists in makefile
5 shoes -> socks
6 Error: Circular dependency exists in makefile
7 mobile -> mobile
8 Error: Circular dependency exists in makefile
9 coat -> shoes
10 Fatal: ';' does not exist - don't know how to make it
需要帮助......
答案 0 :(得分:3)
使用GNU make。这是证据:
您使用的是版权归Borland所有,这表明您使用的品牌不是GNU品牌。
我找到了示例here。作者提供了GNU make的链接,建议他的例子期望GNU make。
您正在运行的make将;
解释为依赖项。显然,它不能正确解释您的Makefile。
如果我在你的例子中使用GNU make,这就是我得到的:
$ make
put on socks
put on pants
put on undershirt
put on shirt
put on trousers
put on shoes
put on mobile
put on sweater
put on coat