根据文档,在配方部分,选项卡后的代码发送到shell。那么shell不应该知道makefile函数。例如
a:
<tab>$(info ===)
如果我运行make a
,则输出
===
make: `a' is up to date.
为什么呢? Shell不知道$(info ===)
,为什么它可以输出===
?
答案 0 :(得分:2)
$(info ...)
不是由shell解释的,它实际上是make
中的一个特殊函数。 info函数打印扩展的参数,在这种情况下,它只是一个常量===
回到控制台。以下是GNU文档的摘录:
此函数只是将其(扩展)参数打印到标准输出...此函数扩展的结果是空字符串。
您可以详细了解here。