Makefile可以确定使用gcc哪些标题丢失?

Dan*_*Dan 2 build-automation dependencies code-generation makefile

我有一个简单的库为我生成标题,我希望在Makefile中将它链接在一起.

如果cpp文件包含不存在的头文件,它应该从匹配的源文件生成它(如果相应的文件存在).我无法弄清楚如何做到这一点.

我已经尝试使用gcc -MM提前找出每个.cpp文件的依赖关系,但如果缺少标头,则会失败.我需要知道哪些文件丢失以尝试重新生成它们.

如果我只是定义了一个标题prequisite所有.cpp文件,它总是会重新编译所有的,当然我的.cpp文件.

有关如何重新生成缺少的标头的任何想法?

Dan*_*Dan 5

似乎可以使用gcc找到解决方案:

http://gcc.gnu.org/onlinedocs/cpp/Invocation.html

-MG

结合诸如-M请求依赖关系生成之类的选项,-MG假定缺少头文件是生成文件并将它们添加到依赖关系列表而不会引发错误.