web-dev-qa-db-ja.com

Makefileはターゲットのリストを取得します

次のコードを使用してmakefile targets listを取得しますが、ほとんどの場合は問題なく動作しますが、このようなmakefileを使用すると、2つだけのターゲットが取得され、すべてが取得されるわけではありません。

別のコマンドが表示されない

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ですべてのターゲットをリストする方法?

enter image description here

1
Nina S
$ 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」があります。

そして「another」には「t」が含まれます;-)

Steeldriverへのクレジット

1
Polluks