Makefile中三個自動變數 , ,

2021-08-02 12:47:50 字數 901 閱讀 8951

所謂自動變數,就是這種變數會把模式中所定義的一系列的檔案自動地挨個取出,直至所有的符合模式的檔案都取完了。這種自動化變數只應出現在規則的命令中。

以乙個例子說明

objs = ifconfig.o tftp_util.o ping.o 

srcs = $(objs:.o=.c)

phony += all

all : $(built_in_obj)

$(built_in_obj) : $(objs)

$(ld) $(ldflags) -r $^ -o $@ //第乙個例子

$(objs) : $(srcs)

$(cc) $(cflags) -c $^ //第二個例子

phony += clean

clean :

@rm -vf *.o

.phony : $(phony)

$@ 代表目標集合,第乙個例子中為$(built_in_obj) ;

$^ 代表所有的依賴物件,第乙個例子中$^為$(objs),即 ifconfig.o tftp_util.o ping.o;

第二個例子中$^為$(srcs),即$(objs:.o=.c) (makefile解釋後為: ifconfig.c tftp_util.c ping.c) 

$< 代表第乙個依賴物件

如果第乙個例子修改為下面的內容,則$《表示ifconfig.o。

$(built_in_obj) : $(objs)

$(ld) $(ldflags) -r $< -o $@

漢語中「三個三個的,你認識多少?」

三個金念鑫 x n 三個水念淼 mi o 三個火念焱 y n 三個土念垚 y o 三個牛念犇 b n 三個手念掱 p 三個目念瞐 m 三個田念畾 l i 三個馬念驫 bi o 三個羊念羴 sh n 三個犬念猋 bi o 三個鹿念麤 c 三個魚念鱻 xi n 三個貝念贔 b 三個力念劦 lie 三個毛...

剖析RedHat Linux中三個重要核心檔案

在網路中,不少伺服器採用的是linux系統。為了進一步提高伺服器的效能,可能需要根據特定的硬體及需求重新編譯linux核心。編譯linux核心,需要根據規定的步驟進行,編譯核心過程中涉及到幾個重要的檔案。比如對於redhat linux,在 boot目錄下有一些與linux核心有關的檔案,進入 bo...

剖析RedHat Linux中三個重要核心檔案

在網路中,不少伺服器採用的是linux系統。為了進一步提高伺服器的效能,可能需要根據特定的硬體及需求重新編譯linux核心。編譯linux核心,需要根據規定的步驟進行,編譯核心過程中涉及到幾個重要的檔案。比如對於redhat linux,在 boot目錄下有一些與linux核心有關的檔案,進入 bo...