如何从makefile中的变量中删除参数

时间:2013-02-13 01:23:31

标签: gcc makefile gnu gnu-make

下面是我在makefile中使用的变量。

copt = -mcpu=cortex-m3 -mthumb -g -c

我想删除-mthumb并将其替换为其他选项。 有什么方法可以剥去选项并添加一些其他选项。 我知道如何添加:示例 - copt + = -O3但不知道如何删除已存在的选项。

谢谢!

3 个答案:

答案 0 :(得分:3)

  

$(subst from,to,text)

     

对文本文本执行文本替换:from的每次出现都替换为to。结果将替换函数调用。

在你的情况下:

newopts = $(subst -mthumb, new_opt, $(copt))

答案 1 :(得分:1)

$(subst...)更安全地使用对整个单词起作用的东西:

newopts := $(filter-out -mthumb,${opts}) more opts

答案 2 :(得分:-1)

sed效果很好:

sed -i 's/old_word/new_word/g' makefile