在克隆一个开源项目(使用Git)后,我想构建它。
此外,我希望能够从头开始再试一次(与git-bisect一起使用)。
干净的结帐包含Makefile.in
和configure.ac
,但不包含configure
。
假设项目中没有任何易于查找的说明,那么做这些事情的秘诀是什么?这是相当标准的吗?是否有可能需要常见的变体?
答案 0 :(得分:1)
虽然我看到一些帖子建议使用autoreconf -fi
,但我只使用autoconf
获得了更好的结果,因为make
步骤失败了(见autoconf }和autoreconf用于基本描述)。也许在一般情况下,如果一个不起作用,那么尝试另一个 - 确保在两者之间进行清理,以便结果不会受到污染。
以下是一些常见步骤:
## clean...
make maintainer-clean ## clean up most stuff after you have run ./configure
git status --ignored ## see what still needs to be cleaned up
git clean -fdX ## remove ignored files
git clean -fdx ## remove all extra files -- including your own work (if any)
git reset --hard ## revert all remaining files (may be destructive)
## build...
autoconf && ./configure && make -s ## build everything
答案 1 :(得分:1)
如果您正在使用Git,那么您应该能够完全绕过自动工具,只需在两个步骤之间执行git clean -xdf
。
答案 2 :(得分:0)
正如其他人已在评论中指出的那样,configure.ac
文件通常附带autogen.sh
或bootstrap.sh
脚本来生成配置脚本。
例如,GNOME project倾向于按惯例依赖autogen.sh
脚本,因此可以使用以下命令集构建项目(随意查看GNOME' s gtk+ source code查看根构建目录在该约定下通常看起来的样子:
./autogen.sh --prefix=$PREFIX && make && make install
运行./autogen.sh
脚本后,您将看到在构建根目录中生成的configure
脚本。
如果在您的特定项目中没有这样的脚本并且没有为您回答问题,那么如果您能够提供项目来源的链接可能会很有用,您的查询是特别是。