我如何告诉 autogen.sh 在单独的文件夹中生成文件(m4 和目标文件)?

How can I tell autogen.sh to generate files(m4 and object files) in separate folder?

我正在使用 ./autogen.sh --prefix=/usr/ 构建一个 c project 并且配置过程(以及稍后的编译和链接步骤)创建的所有文件都位于我的源文件夹中。

我想告诉你使用不同的文件夹(比如 ./build 就像 cmake 项目通常做的那样)。

我该怎么做?

有命令行参数吗?我应该更改文件吗?

Note: autogen.sh calls gnome-autogen.sh

编辑

尝试 cd build && ../autogen.sh --prefix=/usr/ 失败并出现错误:

/usr/bin/gnome-autogen.sh: ./configure: not found

据我所知这是不可能的。 autogen是一只怪兽;它创建的文件是构建项目所必需的(configureMakefile.am)。

这意味着 autogen 比 "compile source code into product" 步骤更多地属于 "unpack sources"。拥有 运行 autogen 后,您可以在构建目录中 运行 configure 获取驱动构建所需的所有文件的版本(config.hMakefile, ...) 针对您的特定架构:

./autogen.sh
mkdir build
../configure --prefix=/usr

请参阅文件 INSTALL 中的 Compiling For Multiple Architectures