日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

1.make的遞歸過程指的是

?

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

?

2.遞歸的意義:

?

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

?

3.用法舉例:

?

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

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

其等價于:

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

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

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

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

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

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的递归执行的全部內容,希望文章能夠幫你解決所遇到的問題。

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