GNU Make高级功能探索
1. 生成XML物料清单(BOM)
在使用标准GNU make输出时,很难回答“构建了什么以及为什么构建”的问题。可以使用一种简单的技术让GNU make创建包含物料清单(BOM)的XML文件,该BOM包含makefile构建的所有文件的名称,并以嵌套形式显示每个文件的先决条件。
1.1 示例Makefile和BOM
以下是一个简单的makefile示例:
all: foo bar
@echo Making $@
foo: baz
@echo Making $@
bar:
@echo Making $@
baz:
@echo Making $@
运行此代码在GNU make中会产生以下输出:
$ make
Making baz
Making foo
Making bar
Making all
从输出中,无法确定构建的树状顺序或哪些文件依赖于哪些文件。理想的输出应该像下面这样,展示构建内容及其原因:
<rule target="all">
<prereq>
<rule target="foo">
<prereq>
<rule target="baz" />
超级会员免费看
订阅专栏 解锁全文
329

被折叠的 条评论
为什么被折叠?



