1. 程式人生 > >AREA of [email protected]

AREA of [email protected]

什麼是subst?

subst函式是Make工具內建的一個文字處理函式,用於實現文字中字串替換或者刪除操作。

基本語法

函式原型

$(subst FROM, TO, TEXT)

具體作用為將文字TEXT中FROM字串替換為TO字串。返回值為進行替換操作後的新字串,而原有的TEXT字串保持不變。

使用示例

直接傳遞引數

($subst a,b,abc)

上述的Make語句將會返回字串bbc。

通過變數傳遞引數

$(subst $(A),$(B),$(STR))

字串刪除

字串刪除的本質上將目標字串替換為一個空值,以實現文字中指定字串刪除的作用。如下例項的功能為刪除變數CC_COMPILE_FLAG中與變數ONLY_CC_COMPILE_FLAG相匹配的部分。

 $(subst $(ONLY_CC_COMPILE_FLAG),,$(CC_COMPILE_FLAG))

注意事項

執行subst函式的時候將會提供一個返回值。使用者必須指定一個返回值用於承接返回值,否則將會有“missing separator”報錯資訊輸出。完整的使用方式如下所示。

CXX_COMPILE_FLAG := $(subst $(ONLY_CC_COMPILE_FLAG),,$(CC_COMPILE_FLAG))