makefile函數和特殊變量和變量

我們這裏只要介紹makefile中的兩個函數(makefile中不止兩個函數)

在makefill中所有函數都是有返回值的 必須拿到這個返回值

(和shell中的函數不同,shell函數中函數沒有返回值和參數表,但是可以像調用

程序一樣輸入命令行(可以理解成參數),進程的結束狀態(int類型)可以變相理解成返回值,這些在前面的章節 我們

已經介紹過了)

1.wildcard函數

和變量一樣要加 $來獲取值, ()括起來然後函數名(wildcard 參數)

src=$(wildcard ./*.c) 表示當前路勁下的所有  .c   文件

2.patsubst函數

這個函數是一個替換函數

obj=$(patsubst  ./%.c  ./%.o  $(src))表示把$(src)所有的 .c 文件 都替換成 .o 文件

可能這樣說起來比較幹,那我們來實現一個簡單的demo看一下

效果:

不急讓我們一一講解其中的一些關鍵字

變量  src rely  target的取值 我就不用多說了 把 用 $()

makefile中的特殊變量

$<:規則中的第一依賴

$@:規則的目標

$^:規則中的所有依賴

只能在規則的命令中使用

makefile中還提供了一些大寫的變量

接下來 說說這個 .PHONY:clean

他表示聲明 clean 爲一個僞目標(在運行前執行)

更多的C/C++ linux編程我會在下面的文章中陸續的分享,也可以關注‘奇牛學院’

來一起討論

 

 

 

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