所謂自動變數,就是這種變數會把模式中所定義的一系列的檔案自動地挨個取出,直至所有的符合模式的檔案都取完了。這種自動化變數只應出現在規則的命令中。
以乙個例子說明
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...