2015-08-27 37 views
0

共同目標(即目標的空白分隔字的列表)是Make的一個衆所周知的功能,它基本上允許makefile將「相似」目標(即它們共享相同的配方和先決條件)組合成單個規則。無法解析makefile中的共同目標(multipe目標)

所以,我有一個makefile,比如:

define targets 
foo 
bar 
baz 
endef 

$(targets) :: 
    @echo '[email protected]' 



執行,我得到:

/bin/sh: 1: Syntax error: Unterminated quoted string 
makefile:8: recipe for target 'foo 
bar 
baz' failed 
make: *** [foo 
bar 
baz] Error 2 



真的嗎?

回答

1
targets := foo bar baz 

$(targets) :: 
    @echo '[email protected]' 

define用於創建包含換行符的變量。這不是你想要的,你只需要空格。