Makefile中的$(addprefix)

函数名称:加前缀函数—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表示任意要添加的固定前缀,在逗号的后面可以是一个或多个要添加前缀的子字符串,多个子字符串之间用空格隔开,当然,你也可以像前面的例子一样用变量。


0

你可能感兴趣的:(makefile,相关语法)