日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Makefile笔记之二------make的递归执行

發布時間:2025/5/22 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Makefile笔记之二------make的递归执行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.make的遞歸過程指的是

?

    在Makefile中使用“make”作為一個命令來執行本身或者其它makefile文件的過程。

?

2.遞歸的意義:

?

    當前目錄下存在一個“subdir”子目錄,在這個子目錄中有描述此目錄編譯規則的makefile文件,在執行make時需要從上層目錄(當前目錄)開始并完成它所有子目錄的編 ? 譯。那么在當前目錄下可以使用這樣一個規則來實現對這個子目錄的編譯。

?

3.用法舉例:

?

我們有一個子目錄叫subdir,這個目錄下有個Makefile文件,來指明了這個目錄下文件的編譯規則。那么我們總控的Makefile可以這樣書寫:

??? subsystem:
??????????? cd subdir && $(MAKE)

其等價于:

??? subsystem:
??????????? $(MAKE) -C subdir

對這兩個規則的命令進行簡單說明,規則中“$(MAKE)”是對變量“MAKE”的引用(變量“MAKE”的值指向make可執行文件,一般為/usr/bin/make)。第一個規則命令的意思是:進入子目錄,然后在子目錄下執行make。第二個規則使用了make的“-C”選項,同樣是首先進入子目錄而后再執行make。

第二個規則的命令意思即為“cd subdir && usr/bin/make”

這兩個例子的意思都是先進入“subdir”目錄,然后執行make命令。

我們把這個Makefile叫做“總控Makefile”,總控Makefile的變量可以傳遞到下級的Makefile中(如果你顯示的聲明),但是不會覆蓋下層的Makefile中所定義的變量,除非指定了“-e”參數。

4.make遞歸時關于變量的傳遞


如果你要傳遞變量到下級Makefile中,那么你可以使用這樣的聲明:

??? export?;

如果你不想讓某些變量傳遞到下級Makefile中,那么你可以這樣聲明:?

??? unexport?;

如:
???
??? 示例一:

??????? export variable = value

??????? 其等價于:

??????? variable = value
??????? export variable

??????? 其等價于:

??????? export variable := value

??????? 其等價于:

??????? variable := value
??????? export variable

轉載于:https://www.cnblogs.com/echo93/p/6252316.html

總結

以上是生活随笔為你收集整理的Makefile笔记之二------make的递归执行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。