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...