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