首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对多个目标的构建后步骤

针对多个目标的构建后步骤
EN

Stack Overflow用户
提问于 2014-04-11 15:45:22
回答 1查看 5.2K关注 0票数 4

我有一个makefile,它有多个目标,可以输出不同格式的数据,例如make htmlmake pdfmake txt等,我希望在使用这些选项时有编译前和构建后的步骤。我已经对构建前的步骤进行了排序,但不确定如何才能使构建后的步骤正常工作。

代码语言:javascript
复制
.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

如何让post-build步骤在每个目标之后运行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-11 16:05:15

不幸的是,您必须为每个规则编写不同的规则。但是你可以用一个静态模式规则来简化它

代码语言:javascript
复制
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

这将创建目标htmlpdftxt,它们依赖于real-版本。real-版本执行实际的工作,然后在完成之后,构建后的内容作为基本目标(htmlpdftxt)中的菜谱来完成。

这个规则只是一个速记,所以你不需要把它全部写出来;结果是相同的:

代码语言:javascript
复制
html: real-html
        do-post-build-stuff

pdf: real-pdf
        do-post-build-stuff

txt: real-txt
        do-post-build-stuff
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23017069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档