在makefile文件的上下文中,我经常在文档/论坛中看到,虽然它很少被定义,但扩展的术语很多。在谈论makefile时,扩展变量或参数究竟是什么意思?
答案 0 :(得分:1)
扩展字符串意味着用字符串中的变量或函数调用(例如$(NAME)
)替换对这些事物的值的引用。
考虑:
FOO = a b c
BAR = $(FOO) d e
BAZ = $(BAR) f g
BAZ
的值为$(BAR) f g
。如果您尝试使用:
$(info $(BAZ))
然后Make展开变量,也就是说它用$(BAZ)
的值替换BAZ
:
$(info $(BAR) f g)
然后$(BAR)
,其值为BAR
:
$(info $(FOO) d e f g)
然后$(FOO)
,其值为FOO
:
$(info a b c d e f g)
并且没有任何东西可以展开它执行info
功能并打印出“a b c d e f g”。
请注意,有些内容会扩展变量而其他内容则不会。例如,作业BAR = $(FOO) d e
不会扩展右侧的$(FOO)
。另一种分配BAR := $(FOO) d e
, 。