新闻  |   论坛  |   博客  |   在线研讨会
Makefile中的$(addprefix)
电子禅石 | 2022-07-07 11:43:46    阅读:7906   发布文章

函数名称:加前缀函数—addprefix

函数功能:为“NAMES…”中的每一个文件名添加前缀“PREFIX”。参数“NAMES…”是空格分割的文件名序列,将“SUFFIX”添加到此序列的每一个文件名之前。

返回值:以单空格分割的添加了前缀“PREFIX”的文件名序列。

函数说明:

示例:

 

$(addprefix src/,foo bar)

 

返回值为“src/foo src/bar”。


编写Makefile,可以为我们编译和链接程程带来大大的方便,今天在这里给大家聊下$(addprefix)的使用,先给大家看段Makefile的代码吧:


[plain]  view plain  copy
  1. INCLUDE_DIR=usr/java/jdk1.8.0_25/include \  

  2.     usr/java/jdk1.8.0_25/include/linux  

  3. INCLUDE_FLAG=$(addprefix -I,${INCLUDE_DIR})  

  4.   

  5. all:  

  6.     ls ${INCLUDE_FLAG}  

假如我们在命令行执行下面的命令:



[cpp]  view plain  copy
  1. make  


此时,我们将会看到这样的输出:


看到了吗?命令ls后面两个的路径的前面都被添加了-I,和你想像的一样,该addprefix就是用于添加前缀的,格为:


[plain]  view plain  copy
  1. $(addprefix fixstring,string1 string2 ...)  


其中,fixstring表示任意要添加的固定前缀,在逗号的后面可以是一个或多个要添加前缀的子字符串,多个子字符串之间用空格隔开,当然,你也可以像前面的例子一样用变量。




*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客