如何使用 automake 安装数据目录树

Posted

技术标签:

【中文标题】如何使用 automake 安装数据目录树【英文标题】:How to install a directory tree of data with automake 【发布时间】:2010-09-03 13:24:44 【问题描述】:

如何使用 automake 安装 html 文件、样式表和图像的目录树,而不必在每个子目录中创建 Makefile?

在顶层目录中使用以下内容

htmldir = $(docdir)/foo/html
html_DATA = \
        stylesheets/foo.css \
        images/foo.jpg \
        index.html \
        about/index.html \
        faq/index.html
EXTRA_DIST = $(html_DATA)

失败,因为在调用 install 之前没有创建子目录。

【问题讨论】:

【参考方案1】:

你可以写

foohtmldir = $(htmldir)/foo/html
nobase_dist_foohtml_DATA = \
    stylesheets/foo.css \
    images/foo.jpg \
    index.html \
    about/index.html \
    faq/index.html

htmldir 是用户有权使用configure --htmldir=... 修改的变量,因此如果您想写入它的某个子目录,我建议使用另一个变量。 nobase_ 前缀会告诉 Automake 在安装过程中不要剥离前导目录,而 dist_ 前缀需要分发文件。

【讨论】:

以上是关于如何使用 automake 安装数据目录树的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Automake 创建一个特定目录?

如何正确使用带有子目录的 automake/autoconf?

如何使用 automake 安装 D 库的 .d 文件?

Automake:如何在不安装的情况下构建共享库

如何在 autoconf/automake 中使用协议缓冲区?

GNU Automake - dist_bin_SCRIPTS 是如何工作的,我可以改变它吗?