Recursion 递归gmake问题

Recursion 递归gmake问题,recursion,makefile,gnu-make,Recursion,Makefile,Gnu Make,我需要写一个快速生成文件来构建我所有的项目。这是C++代码,我使用gBase.< 假设我有一个目录列表,我想cd到每个目录,发出gmake命令,如果成功,转到下一个目录,依此类推 我是通过看桌子做的 它适用于“所有”目标-如果我只键入gmake,它会做正确的事情。但如果我把它弄干净了,它什么也干不了 我一边学习gmake,所以我肯定在做一些傻事:) 感谢您的帮助。为了递归地生成除第一个目标以外的其他目标(我猜所有目标都是您的第一个目标),您需要让sub知道要构建什么。可以使用MAKEFLAGS和

我需要写一个快速生成文件来构建我所有的项目。这是C++代码,我使用gBase.< 假设我有一个目录列表,我想cd到每个目录,发出gmake命令,如果成功,转到下一个目录,依此类推

我是通过看桌子做的

它适用于“所有”目标-如果我只键入gmake,它会做正确的事情。但如果我把它弄干净了,它什么也干不了

我一边学习gmake,所以我肯定在做一些傻事:)


感谢您的帮助。

为了递归地生成除第一个目标以外的其他目标(我猜所有目标都是您的第一个目标),您需要让sub知道要构建什么。可以使用MAKEFLAGS和MAKECMDGOALS变量执行此操作

例如:

$(DIRS):
        $(MAKE) -C "$@" $(MAKEFLAGS) $(MAKECMDGOALS)

您的规则没有传递目标名称,例如clean,因此子make没有工作要做(因为所有的都已生成)。

是的,这确实解决了它。谢谢
$(DIRS):
        $(MAKE) -C "$@" $(MAKEFLAGS) $(MAKECMDGOALS)