質問
makefileの1つ以上のターゲットへの依存関係を見たいです。だから私はmakefileを解析し、いくつかのツリー形式(インデント、ascii-artなど)またはグラフィック(ドット、...)で依存関係を表現できるプログラムを探しています。
似たような
他の状況でもこれを実行できるプログラムがあります。
- パークツリーまたは借金の木
dot
その形式のソフトウェアパッケージの依存関係は、ツリー形式(ASCII形式など)またはグラフィックとして表示できます。 gcc -M source_file.c
C ソースファイルの依存関係を make ルールで表示します。- 木プロセスツリーのASCII表現を表示します。
進展
私が見つけたウェブ検索中あまり役に立たない。これが私に試してみました。
make --always-make --silent --dry-run some_target | \
grep --extended-regexp 'Considering target file|Trying rule prerequisite'
しかし、これを素晴らしいツリー/グラフで表現するには、PerlやPythonで解析コードをもう少し解読する必要があるようです。このように、実際に完全で正確な図が得られるかどうかはまだわかりません。
必要
どのような方法でもチャートを制限したいのですが(デフォルトの提供ルールはありません、与えられた目標のみ、特定の深さのみ)、ほとんどの場合、「合理的な」ものを提供するツールを探しています。依存関係 - 表示できる形式です(「類似」以下のプログラムと同じ)。
質問
- これができるプログラムはありますか?
- から完全かつ正確な情報を取得できますか
make -dnq ...
? - この情報を得るためのより良い方法はありますか?
- この情報を解析するスクリプト/試行はすでに存在していますか?
ベストアンサー1
努力するmakefile2graph同じ著者の同様のツールがあります。MakeGraphの依存関係java
代わりに作成されましたc
。
make -Bnd | make2graph | dot -Tsvg -o out.svg
次に、ベクターグラフィックエディタを使用して必要な接続を強調表示します。