gnu make 中的 $(-*-command-variables-*-)) 是什么

what is $(-*-command-variables-*-)) in gnu make

在我的项目 makefile 中,有一个名为“--command-variables--”的变量。我可以从上下文中猜出它的意思,但我想了解更多关于“--command-variables--”的信息。 google 和 GNU make 手册没有结果。

这是我的测试 makefile,

all:
    $(warning $(-*-command-variables-*-))
    #$(warning $(.VARIABLES))
    #$(foreach v, $(.VARIABLES), $(info $v===>$($v)))

当我键入 make test=Makefile 时,它打印出:

Makefile:2: test=Makefile
make: `all' is up to date.

我发现这个变量在 .VARIABLES 变量中,但我在 GNU 手册中找不到它。 我使用的make版本是GNU make 3.81。 谁能告诉我这些变量在哪里定义或更多关于这些变量?谢谢。

是main.c(第1344行)中定义的一个内部变量,

/* Define an unchangeable variable with a name that no POSIX.2
   makefile could validly use for its own variable.  */
(void) define_variable ("-*-command-variables-*-", 23,value, o_automatic, 0);