我使用下面的代码来获得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