How to strip parameters from a variable in a makefile

☆樱花仙子☆ 提交于 2019-12-11 10:19:58

问题


Below is a variable I am using in a makefile.

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

I want to remove -mthumb and replace it with some other option. Is there any way I can strip the option and add few other options. I know how to add : Example - copt += -O3 but don't know how to remove the already existing options.

Thanks!


回答1:


$(subst from,to,text)

Performs a textual replacement on the text text: each occurrence of from is replaced by to. The result is substituted for the function call.

In your case:

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



回答2:


A tad safer than $(subst...) to to use something that operates on whole words:

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



回答3:


sed works well:

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


来源:https://stackoverflow.com/questions/14844955/how-to-strip-parameters-from-a-variable-in-a-makefile

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!