如何独立地为 运行 个其他 make 文件创建一个 make 文件?

How can I create a make file to run other make files independently?

我希望能够 运行 在位于文件夹根目录的 make 文件中执行类似 make subdir 的命令,该文件又会 运行 位于文件夹根目录下的另一个 make 文件在当前目录的子目录中。

从官方 GNU make 文件文档中,我能够找到下面的代码并测试它完成了我需要做的事情

subsystem:
     $(MAKE) -C ./subdir/

我将代码放在根目录中的 make 文件中,当我 运行 make 在根目录中时,它 运行 是子目录文件夹中的 make 文件。

但举例来说,我有几个子文件夹,每个子文件夹都有自己的 make 文件,这些文件执行与每个文件夹中的内容相关的操作。我的目的是让根 make 文件作为一个地方,我可以在整个文件夹的其他子文件夹中启动 make 文件,但独立执行,而不是 运行 一次全部启动。

因此,如果我在根目录中说 make subfolder1,则子文件夹 1 中的 make 文件将 运行,如果我说 make subfolder2,则子文件夹 2 中的 make 文件将运行,依此类推。这可以实现吗?

通过使用原始问题中的代码并重命名它们以满足我的需要,我能够实现我所需要的。

name1:
     $(MAKE) -C ./subdir1/

name2:
     $(MAKE) -C ./subdir2/

也感谢@MadScientist 指出我已经想出如何做我需要的事情,我肯定是想多了。

我 运行 解决了一个问题,当我 运行 带有 name1 或 name2 的 make 文件时,系统提示我一条消息说该目录是最新的。即使我进入子文件夹并通过调用它们各自的 make 文件删除了所有填充的文件,问题仍然存在。

我可以通过将下面的代码添加到我的根 make 文件的底部来绕过它。

.PHONY: name1 name2...

所以现在当我调用 make name1make name2 时,这些子文件夹中的 make 文件可以正常工作并执行它们应该执行的操作!