M

C に適用 C++ に適用

目的

make コマンドの記述ファイルの組み込みに適したターゲットを含む出力ファイルを作成する。

構文


構文図

-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 が生成されます。

.c.C.cpp、または .i サフィックスが付いた入力ファイルごとに、.d ファイルが作成されます。また、-+ コンパイラー・オプションを有効にした状態で、C++ プログラムをコンパイルすると、どのファイル・サフィックスも受け入れられ、 .d ファイルが生成されます。そうでない場合は、出力の .d ファイルは、他のファイルについては一切作成されません。

例えば、以下のコマンドでは、

xlc -M conversion.c filter.c /lib/libm.a
conversion.d および filter.d の 2 つの出力ファイル、および実行可能ファイルが作成されます。 .d ファイルは、ライブラリーについては作成されません。

現行ディレクトリーが書き込み可能でない場合、 .d ファイルは作成されません。 -o file_name-M とともに指定する場合、.d ファイルは、 -ofile_name で暗黙指定されるディレクトリーに置かれます。例えば、以下の呼び出しでは、

xlc -M -c t.c -o /tmp/t.o
.d 出力ファイルが /tmp/t.d に配置されます。

関連タスク

相対パス名を使用したインクルード・ファイルのディレクトリー検索順序

関連参照

コンパイラーのコマンド行オプション
+ (正符号)
makedep
o
sourcetype IBM Copyright 2003