2012-06-19 31 views
0

我有我的Makefile这个简单的规则:通配符目标不起作用

PP=g++ -std=c++0x 
%.o: $.cpp 
     $(PP) $< -c -o [email protected] 

当我运行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 SY ntax。

此通配符规则是否错误?

回答

1

你的目标是错的。更改

%.o: $.cpp 

%.o: %.cpp