いまマニュアル見てて知ったんですが、gccで-M指定するとプリプロセッサに依存関係を出力させることができるんですねぇ。
-M 各オブジェクトファイルの依存ファイルを記述する make のルールに適した出力を行なうようプリプロセッサに指示する。プリプロセッサは、各ソースファイル毎に make のルールを一つ出力する。そのルールのターゲットは、ソースファイルに対応するオブジェクトファイル名であり、依存ファイルはそのソースファイルが#include している全てのヘッダファイルである。このルールは一行でも良いし、長ければ \-改行 で継続しても良い。ルールのリストは、前処理済みの C プログラムではなく、標準出力に出力される。-M には -E が含まれる。
make のルールの出力を指定するもう一つの方法は、環境変数 DEPENDENCIES_OUTPUT を設定することである(see Environment Variables)。
これは知らなんだ。
コメント