makefile – 多个目标的构建后步骤
发布时间:2020-12-16 09:51:42 所属栏目:百科 来源:网络整理
导读:我有一个makefile,它有多个目标,用于输出不同格式的数据,例如: make html,make pdf,make txt等等.我希望在使用任何这些选项时运行预构建和后构建步骤.我对预构建步骤进行了排序,但不确定如何使后构建步骤正常工作. .PHONY: html pdf txt pre-build post-bui
我有一个makefile,它有多个目标,用于输出不同格式的数据,例如: make html,make pdf,make txt等等.我希望在使用任何这些选项时运行预构建和后构建步骤.我对预构建步骤进行了排序,但不确定如何使后构建步骤正常工作.
.PHONY: html pdf txt pre-build post-build pre-build: do-pre-build-stuff post-build: do-post-build-stuff html: data.dat generate-html data.dat pdf: data.dat generate-pdf data.dat txt: data.dat generate-txt data.dat data.dat: pre-build generate-some-data > data.dat 如何在每个目标之后运行构建后步骤? 解决方法
不幸的是,你必须为每一个写一个不同的规则.但是你可以用
static pattern rule简化它:
html pdf txt: %: real-% do-post-build-stuff real-html: data.dat generate-html data.dat real-pdf: data.dat generate-pdf data.dat real-txt: data.dat generate-txt data.dat 这会创建依赖于真实版本的目标html,pdf和txt.真实版本执行实际工作,然后在完成后,构建后的内容将作为基本目标(html,pdf和txt)中的配方完成. 这个规则只是一个简写,所以你不必全部写出来;结果是一样的: html: real-html do-post-build-stuff pdf: real-pdf do-post-build-stuff txt: real-txt do-post-build-stuff (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |