Makefile文件(七)_使用函數

參考http://blog.csdn.net/liang13664759/article/details/1771246/函數

1、函數的調用語法spa

函數調用,如變量的使用,也是以「$」來標識的,語法以下:.net

$(<function> <arguments>)blog

或者:字符串

${<function> <arguments>}get

這裏,<function>是函數名,make支持的函數很少,<arguments>是函數的參數,參數間以逗號「,」分隔,而函數名和參數之間以「空格」分隔。函數調用以「$」開頭,圓括號或者花括號把函數名和參數括在一塊兒,感受很像一個變量。函數中的參數能夠使用變量,爲了風格的統一,函數和變量的括號最好統一同樣。字符串處理

示例:io

comma := ,function

empty :=變量

spae := $(empty) $(empty)

foo := a b c

bar := $(subst $(space), $(comma), $(foo))

示例重,$(comma)的值是一個逗號。$(space)使用了$(empty)定義了一個空格,$(foo)的值是「a b c」,$(bar)的定義調用了「subst」替換函數,有三個參數,把$(foo)中的$(space)替換成$(comma),因此$(bar)的值是「a,b,c」

2、字符串處理函數

①、$(subst <from>,<to>,<text>)

名稱:字符串替換函數==subst

功能:把字符串<text>中的<from>替換成<to>

返回:替換事後的字符串

示例:

$(subst ee,EE,feet on the street)=====》》》返回結果:fEEt on the srEEt

②、$(patsubst <pattern>,<replacement>,<text>)

名稱:模式字符串替換函數---patsubst

功能:查找<text>中的單詞是否符合模式<pattern>,若是匹配,則以<replacement>替換。<pattern>能夠包含通配符「%」,表示任意長度的字串。若是<replacement>中也包含「%」,那麼,<replacement>中的這個「%」是<pattern>中的「%」所表明的字串。

返回:替換後的字符串

示例:$(patsubst %.c,%.ox.c.c bar.c)===》》》把字串「x.c.c bar.c」符合模式[%.c]的單詞替換成[%.o],返回結果是「x.c.o bar.o」

相關文章
相關標籤/搜索