使用Makefile依赖项

使用Makefile依赖项,makefile,gnu-make,Makefile,Gnu Make,我正在从事一个项目,在这个项目中,Makefile被随意使用。项目结构如下图所示 ProjectX ---- AppA ---- AppB ---- LibC ---- LibD ---- ToolE ---- AppF ---- LibG 所有这些文件夹和子文件夹都有自己的makefile。它们从ProjectX、ToolE等中逐个调用。在此设置中,AppA可能依赖于LibC/Li

我正在从事一个项目,在这个项目中,Makefile被随意使用。项目结构如下图所示

ProjectX ---- AppA
         ---- AppB
         ---- LibC
         ---- LibD
         ---- ToolE ---- AppF
                    ---- LibG
所有这些文件夹和子文件夹都有自己的makefile。它们从ProjectX、ToolE等中逐个调用。在此设置中,AppA可能依赖于LibC/LibD等。但由于它们具有不同的Makefile,因此在目标配方中未正确提及这些依赖项

现在的问题是,我想让这个项目并行编译(
make-jN

我尝试使用
gcc-M
选项生成依赖项文件,并在Makefile中包含这些依赖项文件。但有时我看到的只是创建的
.o
,而不是库或应用程序。这可能是因为make看到依赖项并等待该依赖项准备就绪。但不知道如何恢复

解决这个问题的最佳方法是什么

更新

我知道递归make是件坏事。但是,如果你因为遗留的原因而坚持使用它,那么很难让并行程序正常工作


有关递归make不好的原因的更多信息,请参见有几种可能的方法的可能重复。您喜欢哪一种,简单的调整还是需要大修的真正好的方法?感谢iGuanaut为您指明了正确的方向。这回答了我所有的疑问,有几种可能的方法。您喜欢哪一种,简单的调整还是需要大修的真正好的方法?感谢iGuanaut为您指明了正确的方向。这回答了我所有的疑问