make中subst
时间: 2024-04-24 12:27:19 浏览: 72
make 中英文手册
在Makefile中,subst函数用于替换字符串。它的语法是$(subst from,to,text),其中from是要被替换的字符串,to是替换后的字符串,text是要进行替换操作的文本。subst函数会将text中所有的from替换为to,并返回替换后的结果。\[1\]
举个例子,假设我们有两个变量CC_COMPILE_FLAG和ONLY_CC_COMPILE_FLAG,我们想要将CC_COMPILE_FLAG中与ONLY_CC_COMPILE_FLAG相匹配的部分删除,可以使用如下的语法:
CXX_COMPILE_FLAG := $(subst $(ONLY_CC_COMPILE_FLAG),,$(CC_COMPILE_FLAG))\[2\]
这样,CXX_COMPILE_FLAG就会得到CC_COMPILE_FLAG中删除了与ONLY_CC_COMPILE_FLAG相匹配部分的结果。
需要注意的是,如果没有指定返回值变量来接收subst函数的返回值,会导致"missing separator"的错误信息输出。因此,在使用subst函数时,务必指定一个变量来接收返回值。\[2\] \[3\]
#### 引用[.reference_title]
- *1* [Makefile 里的 subst 函数](https://blog.csdn.net/mrwangwang/article/details/25738287)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [Make内置的subst函数的使用注意事项](https://blog.csdn.net/ZHISHAN_IoT/article/details/84136315)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文