configure.ac指定所有构建文件的文件夹

时间:2016-07-23 22:27:58

标签: gnu autotools automake

我是autotools的新手,但是我找不到autotools doc中与我的问题相对应的章节。

是否有命令,我可以在configure.ac脚本中指定,它将所有构建stuf(配置文件,Makefile等)存储在一个文件夹中(例如./build)?或者我应该如何设置autotools以避免在我的仓库中弄乱? 我的步骤:

$autoreconf --install
$./configure
$make

任何教程或文章都非常有用。

1 个答案:

答案 0 :(得分:2)

您无需在configure.ac中执行任何特殊操作即可启用树外 建立。你只需要做错什么。正确自动缩减的包将在树中或树外构建。

假设您的自动课程包位于./foobar,您已完成自动工具操作 正确地这样:

cd foobar
./configure
make
make distcheck

一切顺利。然后同样:

mkdir foobar_build
cd foobar_build
../foobar/configure
make
make distcheck
除了由...创建的所有工件外,

也会起作用 configure脚本和make将位于./foobar_build而不是./foobar

您无法让autoreconf生成 it 在树外创建的文件 (configure脚本和朋友)因为这些将被包括在内 由make dist生成的分发tarball(例如foobar-1.0.tar.gz)。该 自动化程序包的最终用户不需要拥有或理解autotools: 他们应该能够:

  • 克隆,或下载并解压缩
  • 配置
  • 使
  • 以root身份,make install

出于同样的原因,configure脚本和朋友应该 源控制存储库,至少在您的发布分支中 发布克隆。