makefile – 在子目录中使失败使得不停止构建
发布时间:2020-12-16 03:24:58 所属栏目:百科 来源:网络整理
导读:我有一个设置,其中make通过一堆子目录并在这些目录中进行.我希望它立即停止构建失败.下面的代码片段说明了这一点.有人能指出我应该如何设置makefile的正确方向,或者有关从顶层到子目录构建的文档? SUBDIRS = test1 test2 all clean check : @for dir in $
我有一个设置,其中make通过一堆子目录并在这些目录中进行.我希望它立即停止构建失败.下面的代码片段说明了这一点.有人能指出我应该如何设置makefile的正确方向,或者有关从顶层到子目录构建的文档?
SUBDIRS = test1 test2 all clean check : @for dir in $(SUBDIRS); do if [ -d $$dir ]; then (cd $$dir; $(MAKE) $@) fi done 解决方法
我是(明显的)少数民族,不同意“Recursive Make Considered Harmful”.我已经为大型,混乱的代码库编写了递归Make系统,并且它们工作得非常好.
这是怎么做的: all: $(SUBDIRS) $(SUBDIRS): force @ $(MAKE) -s -C $@ .PHONY: force force :; (我添加了-s以使事情变得更安静.) 编辑: .PHONY: all check clean all check clean: $(SUBDIRS) all: TARGET=all check: TARGET=check clean: TARGET=clean # No,you can't do TARGET=$@,or at least I don't know how to. # recursive call to make $(SUBDIRS): force @ $(MAKE) -s -C $@ $(TARGET) .PHONY: force force :; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |