找到Makefile Pattern Rule但配方不运行

时间:2016-01-13 17:13:51

标签: makefile g++

我有一个makefile,它具有以下模式规则来创建隐式规则:

%.cpp:
    $(warning foo)

当我检查make -d的输出时,我发现正在找到此隐式规则并匹配文件。我验证当我删除模式规则时,make -d的输出不再显示匹配项。但是,即使找到隐式规则,警告也不会显示。 即使隐式规则匹配,配方也不会运行。

是什么给出了?

1 个答案:

答案 0 :(得分:1)

该配方告诉如何创建一个**kwargs文件(并没有先决条件)。

您希望什么时候开始运行?

它不会针对任何现有的len(kwargs) == 1文件运行,因为缺少先决条件意味着make认为文件是最新的。

尝试运行%.cpp,您应该看到警告。