为什么gnu会忽略我的显式模式规则并使用内置的隐式规则呢?

时间:2012-01-12 00:09:37

标签: makefile explicit rule recipe

我的makefile有这个规则/配方:

%o: %cpp Makefile
    g++ -Wall -Wextra -MMD -MP -O2 -c -o $@ $<

这个工作正常,直到我最近升级Cygwin并获得Make 3.82.90(之前的版本大概是3.81)。

现在使用make 3.82,它会忽略我的规则,而是使用内置规则来编译每个文件,例如:

g++    -c -o Foo.o Foo.cpp

1 个答案:

答案 0 :(得分:0)

我的模式没有分隔百分号和扩展名的点(句点)。通过改变这个问题解决了问题:

%.o: %.cpp Makefile
    g++ -Wall -Wextra -MMD -MP -O2 -c -o $@ $<