gcc的-M
选项提供了makefile兼容的依赖列表。我已经在我的一个项目*.c
文件上尝试了它,并且我得到了很长的各种系统头文件列表:
$ gcc -I/home/marko/foo/local/include -I/home/marko/foo/src/misc.git -M src/foo.c | wc -l
65
这是什么用例?为什么有人需要这么长的不那么有用的依赖列表?或者它是否以某种方式用于autotools而不是手动使用?
答案 0 :(得分:0)
我认为这主要是一种迂腐的事情。您可能希望出于某种原因跟踪系统依赖性。例如,您可能正在使用-isystem
或--sysroot
或类似的东西,并希望在更新sysroot中的文件时,您的依赖关系跟踪能够正常工作。不太可能,您可能希望在更新操作系统后正确地重建项目。
我猜测使用-M
通常是无害的。