0

在 makefile 的上下文中,我经常在文档/论坛中看到术语扩展,尽管它很少被定义。在谈论 makefile 时扩展变量或参数究竟意味着什么?

4

1 回答 1

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函数并打印出“abcdef g”。

请注意,有些东西会扩展变量,而另一些则不会。例如,分配BAR = $(FOO) d e不会扩展右侧的$(FOO)另一种分配BAR := $(FOO) d e,。

于 2013-07-17T17:55:22.470 回答