【问题标题】:configure.ac specify folder for all build filesconfigure.ac 为所有构建文件指定文件夹
【发布时间】:2016-07-23 22:27:57
【问题描述】:
我是 autotools 的新手,但我在 autotools 文档中找不到与我的问题相关的章节。
是否有我可以在 configure.ac 脚本中指定的命令,它将所有构建内容(配置文件、Makefile 等)存储在一个文件夹中(例如 ./build)?或者我应该如何设置自动工具以避免我的回购混乱?
我的步骤:
$autoreconf --install
$./configure
$make
任何教程或文章都会非常有用。
【问题讨论】:
标签:
gnu
autotools
automake
【解决方案1】:
你不需要在configure.ac 中做任何特别的事情来启用out-of-tree
构建。你只需要不做错任何事。正确的自动工具包将在树内或树外构建。
假设您的自动工具包位于 ./foobar 并且您已经完成了自动工具
正确,以便:
cd foobar
./configure
make
make distcheck
一切顺利。然后同样:
mkdir foobar_build
cd foobar_build
../foobar/configure
make
make distcheck
除了所有由
configure 脚本和 make 将位于 ./foobar_build 而不是 ./foobar。
您无法让autoreconf 生成 它 在树外创建的文件
(configure 脚本和朋友)因为这些要包含在
由make dist 生成的分发压缩包(例如foobar-1.0.tar.gz)。这
自动工具包的最终用户不需要拥有或了解自动工具:
他们应该能够:
- 克隆,或下载并解压
- 配置
- 制作
- 以 root 身份进行安装
出于同样的原因,configure 脚本和朋友应该在
源代码控制存储库,至少在您的发布分支中
发布以进行克隆。