如果包含多个文件,则使用
\
- 换行符将规则拆分为多行。
运行以下命令后,为什么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)。
答案 0 :(得分:2)
你开始期待错误的事情。
如果包含的文件很多,则将规则拆分为 使用\ -newline的几行。
如果规则超过一定长度,则会将其拆分。文档没有说明在每个令牌之后将拆分规则。
即,预期输出中的错误,而不是观察到的输出。
关于您的评论(构建您自己的构建工具,使用gcc -M
输出进行依赖关系跟踪)... gcc -M
的输出意味着由make
解析,使用make
的解析规则。如果您想自己使用输出,则必须遵循相同的解析规则 - 这并不难开始。