Makefile中的字符串處理函數
參考:https://seisman.github.io/how-to-write-makefile/functions.html#patsubst
subst
功能:把字串 <text> 中的 <from> 字符串替換成 <to> 。
$(subst <from>,<to>,<text>)
返回:函數返回被替換過后的字符串。
patsubst
功能:以模式匹配的方式來替換字符串,查找 <text> 中的單詞是否符合模式 <pattern> ,如果匹配的話,則以 <replacement> 替換。這里, <pattern> 可以包括通配符 % ,表示任意長度的字串。如果 <replacement> 中也包含 % ,那么, <replacement> 中的這個 % 將是 <pattern> 中的那個 % 所代表的字串。
$(patsubst <pattern>,<replacement>,<text>)
返回:函數返回被替換過后的字符串。
strip
功能:去掉空格
$(strip <string>)
返回:返回被去掉空格的字符串值。
findstring
功能:在字串 <in> 中查找 <find> 字串。
$(findstring <find>,<in>)
返回:如果找到,那么返回 <find> ,否則返回空字符串。
filter
功能:以<pattern>模式過濾<text>中的單詞,保留符合<pattern>的單詞,可以有多個模式。
$(filter <pattern...>,<text>)
返回:返回符合<pattern>的字符串
filter-out
功能:反過濾函數,和上面filter正好相反。
$(filter-out <pattern...>,<text>)
返回:返回不符合模式 <pattern> 的字串。
sort
功能:給字符串 <list> 中的單詞排序(升序)。
$(sort <list>)
返回:返回排序后的字符串。
word
功能:取字符串 <text> 中第 <n> 個單詞。(從1開始)
$(word <n>,<text>)
返回:返回字符串 <text> 中第 <n> 個單詞。如果 <n> 比 <text> 中的單詞數要大,那么返回空字符串。
wordlist
功能:從字符串 <text> 中取從 <ss> 開始到 <e> 的單詞串。 <ss> 和 <e> 是一個數字。
$(wordlist <ss>,<e>,<text>)
返回:返回字符串 <text> 中從 <ss> 到 <e> 的單詞字串。如果 <ss> 比 <text> 中的單詞數要大,那么返回空字符串。如果 <e> 大於 <text> 的單詞數,那么返回從 <ss> 開始,到 <text> 結束的單詞串。
words
功能:統計 <text> 中字符串中的單詞個數。
$(words <text>)
返回:返回 <text> 中的單詞數。
firstword
功能:取首個單詞
$(firstword <text>)
返回:返回字符串 <text> 的第一個單詞。
