Makefile 如何组合生成文件?

Makefile 如何组合生成文件?,makefile,Makefile,我遇到一个软件,它有三个makefile,一个在根目录中,两个在直接子目录中。经过一点实验,结果表明,它们有一个很好的顺序: $ make -C wordn all $ make -C buses all $ make all 从根目录。重写主生成文件以实现此序列的优雅方式是什么?在主生成文件的目标all中,您可以添加: all: $(MAKE) -C wordn all $(MAKE) -C buses all ... 这将在执行所有命令之前执行submake 您还

我遇到一个软件,它有三个makefile,一个在根目录中,两个在直接子目录中。经过一点实验,结果表明,它们有一个很好的顺序:

$ make -C wordn all
$ make -C buses all
$ make all

从根目录。重写主生成文件以实现此序列的优雅方式是什么?

在主生成文件的目标
all
中,您可以添加:

all:
    $(MAKE) -C wordn all
    $(MAKE) -C buses all
    ...
这将在执行
所有
命令之前执行submake

您还可以创建主
all
目标的依赖项:

all: suball
    ...

suball:
    $(MAKE) -C wordn all
    $(MAKE) -C buses all

.PHONY: suball
suball
目标必须是目标,因为它是虚拟目标