makefile中的通配符目标不起作用

时间:2012-06-19 16:50:39

标签: gcc makefile g++ wildcard

我在Makefile

中有这个简单的规则
PP=g++ -std=c++0x
%.o: $.cpp
        $(PP) $< -c -o $@

当我运行make parse_utils.o时,执行的命令应为:

g++ -std=c++0x parse_utils.cpp -c -o parse_utils.o

但事实上它是:

>make parse_utils.o
g++    -c -o parse_utils.o parse_utils.cpp

我收到编译错误,因为我使用了C++11语法。

这个通配符规则是错误的吗?

1 个答案:

答案 0 :(得分:1)

你的目标是错误的。变化

%.o: $.cpp

%.o: %.cpp