makeのすべてのターゲットをリストする方法は?


18

多数のMakefileを含むプロジェクト構造があり、他のすべてを含む最上位のMakefileがあるとします。

すべての可能なターゲットをリストするにはどうすればよいですか?

私は書くことを知っています

make 

次に、タブを押して提案を取得するのが一般的ですが、私の場合は10000個のターゲットがあります。これを行うと、結果がさらに通過し、何らかの理由でリストをスクロールするとフリーズします。別の方法はありますか?

回答:


24

これは、bash完了モジュールmakeがリストを取得する方法です。

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

ページ区切りなしで、改行で区切られたターゲットのリストを出力します。


2
たぶん| sort -uそれをソートして重複を削除するために追加
-BrainStone

| sort -uコメントも好き
マークCh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.