有时在makefile文件要临时处理一些字符串变量,了解些makefile文件字符串处理函数是相当有用的.
本文只讲解下subst函数使用.
如果想了解别函数使用,可以参考http://blog.youkuaiyun.com/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. 参数不需要双引号,否则跟前面一样的问题,会把双引号视为参数本身的内容