Makefile中的基本函式

2021-07-24 17:02:47 字數 1240 閱讀 7903

makefile中常用的基本函式

1、subst

$(subset 引數1, 引數2, 引數3)

把引數3中的1替換成引數2    返回被替換的引數3

2、patsubst

$(patsubset 模式引數, 引數1, 引數2)

把引數2中復合模式引數的單詞替換成引數1   返回被替換後的引數2

3、wildcard

$(wildcard 模式引數)

列出當前目錄下所有符合模式引數的檔名    返回目錄下所有符合模式引數的檔名

4、strip

$(strip 引數)

去掉引數中開頭和結尾的空格  返回被去掉空格的引數

5、findstring

$(findstring 引數1, 引數2)

在引數2中查詢引數1    如果找到返回引數1,沒找到返回空「」

6、filter

$(filter 模式引數, 引數1)

從引數1中篩選出符合模式引數的字串    返回符合引數模式的字串

7、addsuffix

$(addsuffix 引數1, 引數2)

在引數2中的每個單詞加上字尾引數1    返回加上字尾的所有單詞

8、addprefix

$(addprefix 引數1, 引數2)

在引數2中的每個單詞加上字首引數1

9、foreach

$(foreach 變數引數, 引數1, 表示式)

迴圈取出引數1中的單詞賦給變數引數,然後執行表示式    返回表示式的執行結果

10、call

$(call 變數引數, 引數...)

迴圈把引數依次賦給變數引數中的$(1)、$(2)...    返回賦值後的變數值

11、if

①$(if 條件引數, 執行引數)

如果條件引數非空,執行執行引數部分    返回如果條件引數非空,則返回執行引數部分

②$(if 條件引數, 執行引數1, 執行引數2)

如果條件引數非空,執行執行引數1;反之執行執行引數2    返回如果條件引數非空,返回執行引數1,否則返回執行引數2

12、dir

$(dir 引數)

從引數中取出目錄部分    返回目錄部分

13、error

$(error 引數)

停止「make」執行並顯示引數

14、warning

$(warning 引數)

「make」執行時顯示引數

makefile中的函式

語法 foreach var,list,text 簡單地說,就是 for each var in list,change it to text。對list中的每乙個元素,取出來賦給var,然後把var改為text所描述的形式。例子 objs a.o b.o dep files foreach f,o...

Makefile中的wilcard函式

在makefile規則中,會對萬用字元進行展開,但是在變數的定義和函式的引用的時候萬用字元就會失效,這種情況下若是想讓萬用字元有效,就需要使用函式 wildcard 使用方法是 wildcard pattern 在makefile中,它被展開為已經存在的 使用空格分開的 匹配此模式的所有檔案列表。如...

基本的MAkefile用法

makefile的規則 target prerequisities command target可以是obj檔案 也可以是目標檔案 也可以是lable 標籤 prerequisities 指的生成target所需要的依賴檔案或目標 command指的是執行的make命令,任意的shell命令 g w...