我遇到了一个有三个makefile的软件,一个在根目录中,两个在直接子目录中。尝试了一下,结果发现它们的顺序很好:
$ make -C wordn all
$ make -C buses all
$ make all
从根目录。重写主makefile的优雅方法是什么,以便这个序列发生?
答案 0 :(得分:2)
在主all
的目标Makefile
中,您可以添加:
all:
$(MAKE) -C wordn all
$(MAKE) -C buses all
...
这将在执行all
命令之前执行子制作。
您还可以创建主all
目标的依赖关系:
all: suball
...
suball:
$(MAKE) -C wordn all
$(MAKE) -C buses all
.PHONY: suball
suball
目标必须是PHONY
目标,因为它是虚拟目标