多个目标的构建后步骤

2024-03-19

我有一个 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

我怎样才能得到post-build追逐每个目标的步骤?


不幸的是,您必须为每个规则编写不同的规则。但你可以用一个更简单的方法静态模式规则 http://www.gnu.org/software/make/manual/html_node/Static-Usage.html:

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, and txt这取决于real-版本。这real-版本执行实际工作,然后在完成后构建后的内容作为基本目标中的配方完成(html, pdf, and txt).

该规则只是一个简写,因此您不必将其全部写出来;结果是相同的:

html: real-html
        do-post-build-stuff

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

txt: real-txt
        do-post-build-stuff
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多个目标的构建后步骤 的相关文章

随机推荐

  • C# 中的 const 字节字段按位 NOT

    我意识到 如果我有一个 byte 类型的字段或变量 我可以对其应用按位 NOT 并将其转换为字节 但是 如果该字段是 const byte 我仍然可以应用按位 NOT 但无法将其转换为字节 例如 这编译 class Program byte
  • 我可以从 LotusScript 函数返回列表吗?

    我想从 LotusScript 中的函数返回一个列表 eg Function myfunc List As Variant Dim mylist List As Variant mylist one 1 mylist two 2 myfun
  • 在 Windows Phone 8 中使用 App.Current.Terminate() 方法

    由于Windows Phone 8为我们提供了这种以编程方式终止应用程序的方法 如果我们在应用程序中使用此方法在导航历史记录中没有回溯条目的情况下终止页面 那么在提交应用程序时会出现任何问题吗 使用此调用时 认证不会有任何问题 但请确保在调
  • 上传 zip 和 rar 文件在 codeigniter 中不起作用

    我为允许的类型创建的设置 config allowed types doc docx pdf xls xlsx rtf txt rar zip 在我的mine php中 zip gt array application x zip appl
  • Cordova 构建:请安装 Android 目标:“android-22”。我不想要 android-22。我想要 android-19 - 我该怎么办?

    我正在努力解决我的phonegap 设置和构建我的第一个应用程序 我创建了一个 hello1 项目 我添加了android项目 平台android已经添加 现在 当我运行 cordova 构建时 我收到错误 错误 请安装 Android 目
  • 如何使用 Apache CXF 以简单的方式获取传入和传出的soap xml?

    我一直在 CXF 上摆弄服务器端拦截器 但实现简单的传入和传出拦截器 为我提供包含 SOAP XML 的纯字符串 似乎并不是一项简单的任务 我需要在拦截器中包含纯 XML 以便我可以将它们用于特定的日志记录任务 标准的 LogIn 和 Lo
  • 重定向到从 json 响应获取的 url

    我正在使用 jquery ajax 方法向 php 网页发出 http 请求 作为响应 我采用像 status success url http url 这样的 json 在成功函数上 我从 json 重定向到 url 但大多数时候它都会失
  • iOS UINavigationBar vs UIToolbar vs UITabBar

    让我知道在什么情况下应该使用哪一个 它们之间有什么区别 每个组件的优点和缺点是什么 The UI导航栏类实现用于导航分层内容的控件 它是一个栏 通常显示在屏幕顶部 包含用于在层次结构中上下导航的按钮 主要属性是左 后 按钮 中心标题和可选的
  • 将请求转发到弹簧控制器

    从 servlet 我将请求转发到 spring 控制器 如下所示 RequestDispatcher rd request getRequestDispatcher myController test reqParam value rd
  • Elisp 交互功能,具有输入历史记录

    有很多交互式函数将字符串输入作为参数 defun zb run cmd X arg1 argN interactive Marg1 Marg2 some logic 如何制作每个这样的功能zb run cmd 1 zb run cmd N
  • 同时设置jtextfield textlimit和大写

    我的应用程序中有几个 jtextfield 我想将其中一个允许大写和小写 并限制可以引入 jtextfield 的字符数 我必须区分类别 一个用于放置限制 另一个用于放置大写或小写 jtextfield限制的代码 package teste
  • 为什么这个方法会导致无限循环?

    我的一位同事向我提出了关于这种导致无限循环的方法的问题 实际的代码有点复杂 无法在这里发布 但本质上问题归结为 private IEnumerable
  • Facebook Android SDK 会话 openForPublish 未创建新会话

    当我调用 Facebook Android SDK 时 Session tempSession new Builder this build Session setActiveSession tempSession tempSession
  • 更改 Android Studio 调试端口

    我四处搜寻并没有看到令人满意的答案 所以也许没有 我在工作时在 Mac 上运行 Android Studio 与调试端口 8600 存在冲突 我的印象是 如果发生冲突 Android Studio 会通过从 8600 开始递增来选择不同的端
  • 如何让Jmeter使用CSV数据作为GET参数?

    我想在 JMETER 中实现以下目标 Jmeter加载带有id号的CSV文件 Jmeter 中的每个用户 线程都会选择一个 id 号并将其添加到其 HTTP 请求中 例如http www testsite com test php id x
  • MySQL jdbc + SSL

    我为启用 SSL 的 MySQL 客户端设置系统属性 效果很好 System setProperty javax net ssl trustStore truststore System setProperty javax net ssl
  • DropBox 作为版本控制和异地备份

    在读完 Michael Lopp 的书 Being Geek 后 我开始使用 Dropbox 作为在家庭计算机和工作计算机之间同步文件的一种方式 这太棒了 它确实让您可以轻松地跟踪您正在处理的文件的最新版本 我的问题与人们使用此工具的经验有
  • TextBox 中的占位符文本居中

    我的 XAML 页面中有多个文本框
  • 什么是符合 WAI-ARIA 标准的导航栏/菜单实现

    我们正在为门户网站的主导航菜单实施 即添加 WAI ARIA 支持 菜单如下所示 菜单采用经典的方式实现 ul li a DOM 树 使用 CSS 设计 看起来像水平选项卡 这种小部件的 WAI ARIA 兼容实现是什么 我已经阅读了 w3
  • 多个目标的构建后步骤

    我有一个 makefile 它有多个目标 用于以不同格式输出数据 例如make html make pdf make txt等等 我希望在使用任何这些选项时运行预构建和后构建步骤 我已对预构建步骤进行了排序 但不确定如何使构建后步骤正常工作