我有这个简单的规则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
语法。
这个通配符规则错了吗?