質問

質問

質問

makefileの1つ以上のターゲットへの依存関係を見たいです。だから私はmakefileを解析し、いくつかのツリー形式(インデント、ascii-artなど)またはグラフィック(ドット、...)で依存関係を表現できるプログラムを探しています。

似たような

他の状況でもこれを実行できるプログラムがあります。

  • パークツリーまたは借金の木dotその形式のソフトウェアパッケージの依存関係は、ツリー形式(ASCII形式など)またはグラフィックとして表示できます。
  • gcc -M source_file.cC ソースファイルの依存関係を 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

次に、ベクターグラフィックエディタを使用して必要な接続を強調表示します。

おすすめ記事