在哪里使用GNU autoconf/automake放置helper-scripts?

use*_*925 2 automake autoconf

我正在开发一个将与GNU autoconf/automake一起分发的项目,我有一组调用awk脚本的bash脚本.我希望bash脚本最终在$ PATH中,但不是awk脚本.我该如何将这些插入到项目中?它们应该与其他二进制文件一起使用吗?

另外,有没有办法在安装后确定文件的最终位置?我认为/ usr/local/bin并不总是可执行文件结束的地方......

Wil*_*ell 7

您只需列出要在Makefile.am中安装的脚本:

bin_SCRIPTS = foo bar

这将导致在make install期间安装foo和bar.要获取到最终位置的路径,可以在foo.in中使用@ bindir @并为您配置build foo.例如,在configure.ac中:

AC_CONFIG_FILES([foo bar])

然后在foo.in:

#!/bin/sh

prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
echo bindir = $bindir

请记住,运行configure的人可以指定--prefix, - exec_prefix或--bindir中的任何一个,并且可以使用DESTDIR重定向安装.使用此处描述的技术,不会考虑DESTDIR,并且脚本将安装在它将回显的路径之外的位置.这是设计的,并且是正确的行为,因为通常使用DESTDIR安装来创建tarball,该tarball最终将以脚本中的bindir变为有效的方式解压缩到文件系统中.

  • 这是正确的答案,应该得到勾选标记.+1 (2认同)