3
メイクファイルで指定された依存関係をツリーとして表示する方法は?
問題 メイクファイルの1つ以上のターゲットの依存関係を確認したい。そこで、メイクファイルを解析し、ツリーのような形式(インデント、ascii-art)、またはグラフ(ドット、...)で依存関係を表すことができるプログラムを探しています。 似ている 他の状況でこれを行うプログラムがあります。 pactreeまたはdebtreeは、ascii形式などのツリーの各形式またはdotグラフとしてソフトウェアパッケージの依存関係を表示できます。 gcc -M source_file.c Cソースファイルの依存関係をmakeルールとして表示します。 pstreeは、プロセスツリーのASCII表現を表示します。 進捗 ウェブを検索してもほとんど助けはありませんでした。それは私を試してみるように導いた make --always-make --silent --dry-run some_target | \ grep --extended-regexp 'Considering target file|Trying rule prerequisite' しかし、これを素敵なツリー/グラフとして表現するには、perlまたはpythonでさらに解析コードをハッキングする必要があるようです。そして、この方法で完全で正しいグラフを本当に取得できるかどうかはまだわかりません。 必要条件 いくつかの方法でグラフを制限するのは良いことです(組み込みルールなし、特定のターゲットのみ、深さのみ) -表示可能な形式(「類似」の下のプログラムのように)。 ご質問 これを行うことができるプログラムはありますか? 完全で正しい情報を入手できmake -dnq ...ますか? この情報を取得するより良い方法はありますか? この情報を解析するためのスクリプト/試行はすでに存在しますか?