将 automake 安装文件名设置为与原始文件名不同
Posted
技术标签:
【中文标题】将 automake 安装文件名设置为与原始文件名不同【英文标题】:Setting automake install filename to be different from original filename 【发布时间】:2011-11-27 07:58:03 【问题描述】:是否可以设置 automake 以安装不同名称的文件?例如,假设我的包中有一个 LICENSE 文件,我想将其安装在 /usr/share/licenses/mypackage 下。是否可以扩展下面的代码,以便将 LICENSE 文件安装为“mypackage”?
licensedir = $(datadir)/licenses
license_DATA = LICENSE
我已经在谷歌上搜索了很长时间,但没有发现任何有用的东西。
【问题讨论】:
【参考方案1】:一个可能的解决方案是添加一个安装钩子:
install-data-hook:
cd $(DESTDIR)$(datadir)/licenses; \
mv LICENSE mypackage
【讨论】:
这在 AUTOmake 文件中有效吗?如果我将您的代码添加到我的 Makefile.am 中,我会收到“没有规则可以创建目标LICENSE', needed by
all-am”。在制作结束时。
对不起,我忘了 cd 到目标目录。是的,这适用于 Automake - 规则 install-data-local 仅对 Automake 有特殊意义。
钩子将是 install-data-hook
并在所有其他 install-data
规则之后执行。 install-data-local
可以在 install-license_DATA
之前执行,然后 mv
将不起作用(就像我的情况一样)。以上是关于将 automake 安装文件名设置为与原始文件名不同的主要内容,如果未能解决你的问题,请参考以下文章
使用 automake 在 CentOS 上将 pkg-config 文件安装到正确的路径