GCC -M依赖生成问题

时间:2011-11-22 07:52:10

标签: gcc dependencies

根据GNU's documentation

  

如果包含多个文件,则使用\ - 换行符将规则拆分为多行。

运行以下命令后,为什么gcc -M的输出不符合预期?
如何确保每个依赖项出现在单独的行中?感谢您的帮助。

gcc -Iinc/ -Isrc/ -M -MM src/BitSet.c

BitSet.o: src/BitSet.c \
 inc/BitSet.h inc/StdDefs.h

我在Windows上使用GCC 4.5.2(MinGW)。

1 个答案:

答案 0 :(得分:2)

你开始期待错误的事情。

  

如果包含的文件很多,则将规则拆分为   使用\ -newline的几行。

如果规则超过一定长度,则会将其拆分。文档没有说明在每个令牌之后将拆分规则。

即,预期输出中的错误,而不是观察到的输出。

关于您的评论(构建您自己的构建工具,使用gcc -M输出进行依赖关系跟踪)... gcc -M的输出意味着由make解析,使用make的解析规则。如果您想自己使用输出,则必须遵循相同的解析规则 - 这并不难开始。