回答
[email protected] The file name of the target.
$< The name of the first dependency.
有關詳細信息:Makefile symbol reference
鏈接不再工作 – 2012-06-19 10:43:03
[email protected]
正在建設目標的名稱 - 正在創建的程序或目標文件。
$<
是使其重建的文件的名稱是文件'其存在允許爲目標選擇推理規則'的文件的名稱。
在這個例子中,你可能有:
program.o: program.c
${CC} ${CFLAGS} -c -o [email protected] $<
在這種情況下,[email protected]
是 'program.o' 和$<
是 'program.c'。 (由於「-c
」選項,該規則必須生成目標文件。)
要小心'$ <';如果有一個比程序更新的標題,'$ <'會改爲匹配 - 然後編譯行將不起作用。如圖所示,雖然它足夠安全。關於 '$ <'
貝塔評論...
的 '製作' 的定義POSIX說:
$<
在推理規則中, $ <宏應評估爲其存在允許推斷的文件名規則被選爲目標。在.DEFAULT規則中,$ <宏應評估爲當前目標名稱。其他未指定$ <宏的含義。
例如,在.c.a推理規則中,$ <代表先決條件.c文件。
所以,我給的例子, '$ <' 在技術上是 '未指定'。而且,在正確的背景下, 具體做法是:
.c.o:
${CC} ${CFLAGS} -c -o [email protected] $<
然後 '$ <' 無條件 'progname.c' 當 'progname.o' 正在建設中。
'make'的某些版本曾經用它來做奇怪的事情; GNU Make(3.81)和Solaris 10似乎都表現得很健全。我懷疑是因爲時間扭曲而陷入困境。我用下面的Makefile:
all: x.o
x.o: x.c
${CC} ${CFLAGS} -c -o [email protected] $<
x.o: x.h
我用 'echo "int main(){return 0;}" > x.c
' 和 'echo > x.h
' 創建的代碼。從'x.c'和'x.h'中觸發哪個文件並不重要;無論哪種方式,彙編都是「正確的」。我有一箇舊的衍生產品,大約在1992年,它與大多數時間的Sun MAKE都兼容,它錯誤地處理了它。
第七版UNIX程序員手冊說:
的規則以創建後綴文件S2依賴於類似命名的文件,後綴S1指定 作爲一個條目「目標's1s2。在這樣的條目中,特殊的宏$ *代表目標名稱,其中後綴名已刪除 ,完整目標名稱爲$ @,需要完整列表的$ <,以及$?對於過期的先決條件列表 。
它沒有說任何關於它的含義。我注意到,第7版'make'會列出'$ c $'和'x.h'爲'$ <' - 但POSIX表示這是不正確的。
太陽「讓用戶指南」(16修訂版A 1987年3月)說:
$<
依賴文件的名稱,因爲如果選擇通過make
爲使用一個隱含的規則。
或多或少符合您現在看到的內容。
唉,這就是生活;事物在你周圍變化。有時你發現它發生了;有時候你沒有。
- 1. makefile符號$ @和$ <是什麼意思?
- 2. 什麼是Swift上的+++和<<<?
- 3. 什麼是Makefile目標`.c.o`?
- 4. 什麼是makefile的C++的
- 5. ASP.NET - <%@和<asp:Panel?是什麼意思?
- 6. 什麼意思是「:」在<%中:和<%=有什麼區別?
- 7. 什麼是<NS0:什麼?
- 8. 什麼是<%= ... %>
- 9. makefile中鏈接的順序是什麼?
- 10. 這些Makefile結構是什麼意思?
- 11. 頭文件和makefile的格式和用途是什麼? (C)
- 12. 什麼是<#= #>
- 13. Makefile中「dollar less than」是什麼意思?
- 14. Makefile中'%'的語義是什麼?
- 15. 在Makefile中,CC?=是什麼意思?
- 16. makefile中-I和-L有什麼區別?
- 17. VBA中的<>和n $是什麼?
- 18. 什麼是PHP中的「<<< SQL」?
- 19. Php <<<是什麼意思?
- 20. 瞭解Makefile與.c = .o和$ <
- 21. 什麼是shell腳本,makefile和ant文件
- 22. <>是什麼意思?
- 23. 什麼是<Type>叫什麼?
- 24. << - CONSTANT是做什麼的?
- 25. <+>是什麼意思?
- 26. 區別<p>是什麼Javascript和ASP.net有什麼區別?</p>
- 27. $ <(美元符號+左三角形括號)在makefile中的含義是什麼?
- 28. 什麼是<\/script>?
- 29. {< >}是什麼意思?
- 30. <>是什麼意思?
你在'make'上讀過哪些文檔? http://www.makelinux.net/make3/make3-CHP-1-SECT-5.html? http://www.cs.swarthmore.edu/~newhall/unixhelp/howto_makefiles.html? Anytthing? – 2010-03-16 14:51:52