-qmakedep 和 -M
适用的调用
| 选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
|---|---|---|---|---|
| -qmakedep | ✓ | ✓ | ||
| -M | ✓ | ✓ | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
生成 make 工具用于每个源文件的依赖关系文件。
依赖关系输出文件以 .u 后缀命名。
语法
缺省值
不适用。
参数
gcc- 生成的 make 规则的格式与 GCC 格式匹配: 依赖关系输出文件包含列出所有 main 源文件的依赖关系的单个目标。
如果指定qmakedep 而不指定子选项或 -M,那么依赖关系输出文件将为每个 主 源文件的依赖关系指定单独的规则。
使用量
对于在命令行上指定的每个源文件 带有 .c, .C , .cpp , 或 .i 后缀 ,将生成与对象文件同名但具有 . u 后缀的依赖关系输出文件。 不会为任何其他类型的输入文件创建依赖关系输出文件。 如果使用 -o 选项重命名对象文件,那么依赖关系输出文件的名称将基于 -o 选项中指定的名称。 有关更多信息,请参阅"示例"部分。
这些选项生成的依赖关系输出文件不是 make 描述文件;必须先链接这些文件,然后才能与 make 命令配合使用。 有关此命令的更多信息,请参阅操作系统文档。
输出文件包含输入文件的一行和每个包含文件的条目。 它的一般格式为:
file_name.o:include_file_name
file_name.o:file_name.suffix
您还可以将 -qmakedep 和 -M 与以下选项配合使用:
- -MF 文件路径
- 设置依赖关系输出文件的名称,其中 file_path 是依赖关系输出文件的完整路径或部分路径或文件名。 有关更多信息,请参阅 -MF。
根据 #include 预处理器伪指令的搜索顺序规则列出包含文件,如 包含文件的目录搜索顺序中所述。 如果找不到包含文件,那么不会将其添加到 .u 文件。
无 include 语句的文件生成的依赖关系输出文件将包含一行,仅列出输出文件名。
预定义的宏
无。
示例
示例 1: 要编译
mysource.c 并创建名为 mysource.u的依赖关系输出文件,请输入:xlc -c -qmakedep mysource.c 示例 2: 要编译
foo_src.c 并创建名为 mysource.u的依赖关系输出文件,请输入:xlc -c -qmakedep foo_src.c -MF mysource.u 示例 3: 要编译
foo_src.c 并在 deps/ 目录中创建名为 mysource.u 的依赖关系输出文件,请输入:xlc -c -qmakedep foo_src.c -MF deps/mysource.u
示例 4: 要编译
foo_src.c 并创建名为 foo_obj.o 的对象文件和名为 foo_obj.u的依赖关系输出文件,请输入:xlc -c -qmakedep foo_src.c -o foo_obj.o 示例 5: 要编译
foo_src.c 并创建名为 foo_obj.o 的对象文件和名为 mysource.u的依赖关系输出文件,请输入:xlc -c -qmakedep foo_src.c -o foo_obj.o -MF mysource.u 示例 6: 要编译
foo_src1.c 和 foo_src2.c 以创建两个分别名为 foo_src1.u 和 foo_src2.u,在 /tmp/ 目录中的依赖关系输出文件,请输入:xlc -c -qmakedep foo_src1.c foo_src2.c -MF /tmp/
相关信息
- -MF
- -O
- 包含文件的目录搜索顺序
- 有关 -M、 -MD、 -MF、 -MG、 -MM、 -MMD、 -MP、 -MQ 和 -MT 选项的详细信息,请参阅GCC在线文档,网址为 http://gcc.gnu.org/onlinedocs/。

