【问题标题】:GNU Automake - How does dist_bin_SCRIPTS work and can I change it?GNU Automake - dist_bin_SCRIPTS 是如何工作的,我可以改变它吗?
【发布时间】:2016-10-19 10:00:44
【问题描述】:

在 Makefile.am 文件中,我遇到了变量赋值 dist_bin_SCRIPTS = foo

Makefile.am 标题下的 website 中,它表示将脚本安装在 /usr/local/bin 目录中。

它还说有一些方法可以定义您自己的值(要安装到的目录)...在我的情况下,我想更改它以在/etc/bash_completion.d 中安装脚本 foo,有人知道该怎么做吗?

我已尝试查看 automake 手册,但遗憾的是找不到所需的信息。

感谢所有帮助:)

【问题讨论】:

    标签: linux makefile gnu automake


    【解决方案1】:

    bin_SCRIPTS 安装到 /usr/local/bin 是因为 bindir 已经预定义(具有多层默认值)。所以,

    foodir = ${sysconfdir}/bash_completion.d
    foo_DATA = mycompletion.sh
    

    是无需从配置中进行参数化的快速方法(但在生成时仍可覆盖。)

    【讨论】:

    • 你能解释一下为什么foo_DATA前面不需要dist_吗?
    • dist_ 仅在少数情况下明确需要,特别是如果文件是由某些工具生成的,但您仍想将副本放在 tarball 中。如果您不生成文件,而是将其保存在源存储库中,那么 bin_SCRIPTS 将与 foo_DATA 一样工作。
    猜你喜欢
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 2012-01-19
    • 2020-10-09
    相关资源
    最近更新 更多