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