我正在一个项目中有几个目录,而我的makefile在所有目录之上。当我更新并重新制作代码/头文件时,它说“什么都不做”。有没有一种方法可以强制make检查所有目录并因此意识到必须重新制造某些组件?干杯
插口

最佳答案

您可以每次强制输入子目录:

SUBDIRS = dir1 dir2

.PHONY: all
all: subdirs final_target

.PHONY: subdirs
subdirs:
    for d in $(SUBDIRS); do $(MAKE) -C $$d; done

.PHONY: final_target
final_target:
    echo "Do something here..."


这种进入所有子目录的方案实际上非常普遍。

10-05 23:44