有時在makefile文件要臨時處理一些字符串變量,瞭解些makefile文件字符串處理函數是相當有用的.
本文只講解下subst函數使用.
如果想了解別函數使用,可以參考http://blog.csdn.net/yrj/article/details/4046853
原型
$(subst ;,;,;)
名稱:字符串替換函數——subst。
功能:把字串;中的;字符串替換成;。
返回:函數返回被替換過後的字符串。
例子
現在有一個變量CONF值爲[MacRelease,MacDebug],現在要把Mac去掉.
代碼爲: ${substr Mac,,${CONF}}
結果是:Release或Debug
注意事項
1. 除了第一個空格,substr各個參數之間不能有空格,否則會把空格做爲字符符.如: echo "cp /usr/lib/1.txt /local/${subst Mac, ,${CONF}}",這裏第參數爲空格,如果爲:
cp /usr/lib/1.txt /local/ Debug/
2. 參數不需要雙引號,否則跟前面一樣的問題,會把雙引號視爲參數本身的內容