●ソースファイルの依存関係を簡単に知る方法

gccのオプション -MM -w を使って手軽に依存関係を表示できる。

ここで、-MM オプションは、システムヘッダーファイルを除くその
ファイルが依存しているファイルを表示する。-w は警告を表示しな
いためのオプションである。

例) cgtkcalc の src ディレクトリにて
[akira@localhost src]$ gcc -MM -w cgtkcalc.c
cgtkcalc.o: cgtkcalc.c DEF_VERSION.h cgtkcalc.h zcomplex.h ButtonList.h \
  Copy.h CreateButtons.h CreateHbox.h CreateHelpWindow.h CreateLabels.h \
  KeyPressed.h RenewLabels.h auxiliary.h CmdlineOptions.h
[akira@localhost src]$
のように、gcc -MM -w <source.c> を使えば依存関係に辟易す
ることはない。上の場合、
出力

cgtkcalc.o: cgtkcalc.c DEF_VERSION.h cgtkcalc.h zcomplex.h ButtonList.h \
  Copy.h CreateButtons.h CreateHbox.h CreateHelpWindow.h CreateLabels.h \
  KeyPressed.h RenewLabels.h auxiliary.h CmdlineOptions.h

をMakefileで使えば良いのである。


なお、続けてオプション -MF <file> を指定すると、依存関係が
file に書き出される。 phony targets も出力したい場合は -MP
オプションを加える。

詳しくは、gccのinfoファイルの "Options Controlling the
Preprocessor" セクションに載っている。

戻る