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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章