我写了一个奇怪的makefile。您可以在此处找到它:http://pastebit.com/pastie/8215
基本上每当我输入make clean时,make就会在第44,40和25行执行规则(按此顺序)。这很奇怪,因为没有任何依赖干净和干净没有任何依赖。
有什么想法吗?
答案 0 :(得分:3)
我认为你需要将它添加到Makefile的底部:
ifneq ($(MAKECMDGOALS),clean)
-include .depend
endif
并从第29行删除“include .depend”。
答案 1 :(得分:1)
这是因为你在第29行include .depend
,这取决于$(SRCLIST)
,而make -d
依次是你在问题中提到的规则。
为此,在阅读所有makefile之后,make会将每个作为目标目标并尝试更新它。如果一个makefile有一条规则说明如何更新它(在那个makefile或另一个中找到)或者隐含规则适用于它(参见使用隐式规则),它将在必要时更新。
另外我想调用{{1}}会告诉你更多相关内容。