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

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のすべてのターゲットを一覧表示するには?

ここに画像の説明を入力してください。

ベストアンサー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」です。

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

Steeldriverのクレジット

おすすめ記事