Makefile 获取目标列表

Makefile 获取目标列表

我使用下面的代码来获得makefile targets list在大多数情况下都可以正常工作的代码,但是当您像这样使用 makefile 时,您只会获得两个目标,而不是全部。

另一个命令不显示

Makefile

command: ## Command description
    @echo "Execution log"

another-command: ## Command description
    @echo "Execution log"

command2: ## Command description
    @echo "Execution log" 

输出是:

command
command2

我不明白为什么我没有收到命令another-command,这是代码

`make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\/t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}' `;

可能是什么问题呢 ?

我用这个作为参考 如何列出make中的所有目标?

在此输入图像描述

答案1

$ make -qp | awk -F':' '/^[a-zA-Z0-9][^$#\\\t=]*:([^=]|$)/ {split($1,A,/ /);for(i in A)print A[i]}'
command
Makefile
command2
another-command

在我的字符集中是反斜杠和制表符,在你的字符集中是反斜杠、斜杠和“t”。

而“另一个”包含一个“t”;-)

归功于 Steeldriver

相关内容