Linux

Makefile 獲取目標列表

  • April 22, 2020

我使用以下程式碼來獲得在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 中的所有目標?

在此處輸入圖像描述

$ 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”;-)

鋼鐵司機的學分

引用自:https://unix.stackexchange.com/questions/576990