make コマンドの記述ファイルの組み込みに適したターゲットを含む 出力ファイルを作成する。
>>- -M---------------------------------------------------------><
-M オプションは、 -qmakedep オプションと機能的に同じです。
.d ファイルは make ファイルではありません。.d ファイルは、make コマンドに使用する前に編集する必要があります。このコマンドについて詳しくは、ご使用のオペレーティング・システムの資料を参照してください。
出力ファイルには入力ファイルのための行とそれぞれの組み込みファイルのための項目があります。この一般形式は次の通りです。
file_name.o:file_name.c file_name.o:include_file_name
組み込みファイルは、#include プリプロセッサー・ディレクティブの 検索順序の規則に従ってリストされます。この規則については、相対パス名を使用した組み込みファイルのディレクトリー検索シーケンスに説明があります。 組み込みファイルは検出されない場合、.d ファイルに追加されません。
include 文を持たないファイルは、入力ファイル名だけをリストした 1 行を含む出力ファイルを生成します。
-o オプションを指定しない場合、 -M によって生成される出力ファイルは、現行ディレクトリーに作成されます。 これには .d サフィックスが付きます。例えば、以下のコマンドでは、
xlc -M person_years.c
出力ファイル person_years.d が生成されます。
.d ファイルは、.c、.C、.cpp、または .i サフィックスを持つすべての入力ファイルに対して作成されます。また -+ コンパイラー・オプションを有効にして C++ プログラムをコンパイルした場合は、どのファイル・サフィックスも受け入れられ、.d ファイルが作成されます。そうでない場合は、出力 .d ファイルは他のどのファイルについても作成されません。
例えば、以下のコマンドでは、
xlc -M conversion.c filter.c /lib/libm.a
2 つの出力ファイル conversion.d と filter.d のほか、実行可能ファイルも作成されます。ライブラリーについては、.d ファイルは作成されません。
現行ディレクトリーが書き込み可能でない場合は、.d ファイルは作成されません。-o file_name を -M と一緒に指定すると、 .d ファイルが -o file_name によって暗黙指定されたディレクトリーに入れられます。例えば、以下の呼び出しでは、
xlc -M -c t.c -o /tmp/t.o
.d 出力ファイルが /tmp/t.d に入れられます。
関連情報