Makefile中三个自动变量$^,$@,$
生活随笔
收集整理的這篇文章主要介紹了
Makefile中三个自动变量$^,$@,$
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
以下內(nèi)容源于http://bbs.chinaunix.net/thread-1596089-1-1.html,如有 侵權(quán),請(qǐng)告知?jiǎng)h除。
所謂自動(dòng)變量,就是這種變量會(huì)把模式中所定義的一系列的文件自動(dòng)地挨個(gè)取出,直至所有的符合模式的文件都取完了。這種自動(dòng)化變量只應(yīng)出現(xiàn)在規(guī)則的命令中。
以一個(gè)例子說明
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 $@ //第一個(gè)例子$(OBJS) : $(SRCS)$(CC) $(CFLAGS) -c $^ //第二個(gè)例子PHONY += clean clean :@rm -vf *.o.PHONY : $(PHONY)注:$(BUILT_IN_OBJ) 和 $(PHONY)來自上層目錄g-bios/app/Makefile,可以不用理解。
$@ 代表目標(biāo)集合,第一個(gè)例子中為$(BUILT_IN_OBJ) ;
$^ 代表所有的依賴對(duì)象,第一個(gè)例子中$^為$(OBJS),即 ifconfig.o tftp_util.o ping.o;
第二個(gè)例子中$^為$(SRCS),即$(OBJS:.o=.c) (Makefile解釋后為: ifconfig.c tftp_util.c ping.c)?
$< 代表第一個(gè)依賴對(duì)象
如果第一個(gè)例子修改為下面的內(nèi)容,則$<表示ifconfig.o。
總結(jié)
以上是生活随笔為你收集整理的Makefile中三个自动变量$^,$@,$的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux文件属性3——文件权限管理
- 下一篇: ABAQUS使用功能总结