1
A
回答
0
很多搜索的後:
從GNU使:
「的變量名可以是不含有任何字符序列‘:’,‘#’,‘=’,或前導或尾隨空白「。
5
宏可以在宏的名稱之前有任意數量的空白;它被忽略。
在大多數情況下,空格可以由空格和TAB組成。
有一個例外:如果您在「規則上下文」中,該行的第一個字符不能是TAB(如果是,則該行被認爲是該規則的配方的一部分,而不是一個make宏分配)。
對於大多數人來說,「規則上下文」的定義令人驚訝:請注意,未使用的註釋,空白行和甚至是ifdef部分不會結束「規則上下文」:之後以TAB開頭的行是仍然被視爲以前規則的一部分。只有出現新的宏分配(或新規則)纔會結束先前的規則。
因此,例如:
foo: bar
@cp $< [email protected]
# now we have some comments
ifeq (true,false)
BAR := and an assignment that is not parsed
endif
# and some more comments
FOO = and a macro starting with TAB + space
(這裏假設壓痕與TAB而不是空格開始)的「富」的最後一個任務是在一個規則,並且將被認爲是配方的一部分,「富」 ,而不是一個新的宏分配。
總而言之,最好不要在makefile中使用TAB,除非它引入了一個配方行。
相關問題
- 1. Makefile宏生成規則
- 2. Makefile規則「foo:bar:baz」
- 3. 在makefile規則
- 4. Makefile模式規則失敗?
- 5. 多個莖的makefile規則
- 6. Makefile動態規則w /沒有GNU-make模式
- 7. 在GNU使用$(過濾器)的makefile靜態模式規則
- 8. 隱生成規則:GNU進行多次的Makefile多目錄
- 9. MOC的Makefile規則
- 10. 混淆Makefile規則
- 11. Makefile - 模式規則
- 12. 重用makefile規則
- 13. GNU Make:在模式規則宏中使用%
- 14. GNU MakeFile問題
- 15. GNU Makefile for gdc
- 16. LINUX GNU Makefile中
- 17. makefile規則中的反斜線「$(MODULES):\」
- 18. VPATH不是Makefile的規則
- 19. Makefile中的規則參數
- 20. makefile隱式規則 - 困惑
- 21. 懶惰C++的makefile規則
- 22. Makefile:忽略模式規則
- 23. 始終處理Makefile規則
- 24. 變量Debian中/規則MAKEFILE
- 25. 帶標誌的makefile規則
- 26. 的Makefile模式規則
- 27. 動態生成Makefile規則
- 28. makefile,用於多輸入的規則
- 29. GNU Makefile - 爲什麼具有多個目標的模式規則的行爲與正常規則有所不同?
- 30. Makefile模式規則不起作用
實際上,一個變量名只能包含任何字符,只要你在賦值中沒有修飾空格(即'name:=帶空格的文本',然後'$ {name}:= text' _will_ work,和'$ {帶空格的文本}'將會適當地展開)。 – bobbogo 2013-02-28 12:59:42