如果我运行 make clean 两次,第二次调用将构建计划删除的依赖 Makefile。如何让 Makefile 识别计划删除的文件并跳过为该目录进行的递归调用?换句话说,如果makefile已经存在于每个子目录中,则仅在子目录中进行清理,基于每个子目录。我不知道 GNU-Make 语法,但我正在寻找类似的东西:
Dependencies=[dependency1,dependency2,dependency3,dependency4]
DoNotMake=[bool1,bool2,bool3,bool4]
for all (i < 4):
if (! Dependencies(i)/Makefile):
DoNotMake(i)=true
make clean 的当前规则如下:
.PHONY: clean
clean:
$(MAKE) MAKEDEPEND=off SUBDIR_ARGS=clean
rm -f dependency1/Makefile
rm -f dependency2/Makefile
rm -f dependency3/Makefile
rm -f dependency4/Makefile
rm -f dependency4/src/config.h.in