makefile三個常見變量:$@,$^,$

轉載自:

http://my.oschina.net/u/1413984/blog/199029


Makefile有三個非常有用的變量。分別是$@,$^,$<代表的意義分別是: 

$@--目標文件,$^--所有的依賴文件,$<--第一個依賴文件。 

如果我們使用上面三個變量,那麼我們可以簡化我們的Makefile文件爲: 

# 這是簡化後的Makefile 

main:main.o mytool1.o mytool2.o 

gcc -o $@ $^ 

main.o:main.c mytool1.h mytool2.h 

gcc -c $< 

mytool1.o:mytool1.c mytool1.h 

gcc -c $< 

mytool2.o:mytool2.c mytool2.h 

gcc -c $< 

經過簡化後,我們的Makefile是簡單了一點,不過人們有時候還想簡單一點。這裏我們學習一個Makefile的缺省規則 

.c.o: 

gcc -c $< 

這個規則表示所有的 .o文件都是依賴與相應的.c文件的。例如mytool.o依賴於mytool.c這樣Makefile還可以變爲: 

# 這是再一次簡化後的Makefile 

main:main.o mytool1.o mytool2.o 

gcc -o $@ $^ 

.c.o: 

gcc -c $< 

好了,我們的Makefile 也差不多了,如果想知道更多的關於Makefile的規則,可以查看相應的文檔。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章