2012-06-19 48 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