【问题标题】:Automake include file only if it exists仅当存在时才自动生成包含文件
【发布时间】:2016-04-05 16:53:31
【问题描述】:

我正在尝试构建一个项目,该项目支持轻松构建“精简”发行版,并删除了不需要的功能。该项目使用 automake,并在其自己的 feature.am 文件中包含潜在的可移动功能,这些文件包含在顶级 Makefile.am 文件中

include feature.am

问题是,如果你删除一个特性(及其 feature.am 文件),autoreconf 会失败

automake: error: cannot open < feature.am: No such file or directory

有没有办法简单地忽略此错误并继续?我尝试使用

-include feature.am

就像 GNU make 所做的那样,但这最终只是将该行复制到 Makefile.in 文件(以及 Makefile)中,而不是让 automake 读取它。

【问题讨论】:

  • 在运行automake 之前touching 所有必需的文件怎么样?这样他们就会一直存在(但有时是空的)

标签: automake


【解决方案1】:

这是不可能的,因为 automake 的工作方式(这与 make 自身包含文件的方式几乎无关。)

可以使用AM_CONDITIONAL 和autoconf 的AC_ARG_ENABLE 来构建或不构建您不想构建的组件。如果您想拥有单独的 tarball,那就更复杂了,我建议您只为这些功能提供单独的软件包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 2014-09-05
    • 2014-05-12
    相关资源
    最近更新 更多