使用递归 make 时如何避免这些重复?
假设我有一个包含两个或多个子文件夹 foo
、bar
等的项目。我在项目的根目录下有一个 Makefile
,而且在每个子目录中。
我希望某些目标(例如 all
、clean
等)在每个子目录中递归运行。我的顶级 Makefile
看起来像这样:
all:
$(MAKE) -C foo all
$(MAKE) -C bar all
clean:
$(MAKE) -C foo clean
$(MAKE) -C bar clean
在我看来,这里有很多重复。 有没有办法可以避免 Makefile 中如此繁琐的重复?
Suppose I have a project with two or more subfolders foo
, bar
, etc. I have a Makefile
at the root of the project, and also in each subdirectory.
I would like to have certain targets (e.g. all
, clean
, etc) to run recursively in each subdirectory. My top-level Makefile
looks like this:
all:
$(MAKE) -C foo all
$(MAKE) -C bar all
clean:
$(MAKE) -C foo clean
$(MAKE) -C bar clean
Seems to me there's a lot of duplication going on here. Is there a way I can avoid such tedious duplication in my Makefiles?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这个怎么样:
How about this:
有点吓人:
A bit scary:
我是这样做的:
Here's how I'd do it: