首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Makefile.in和configure.ac清理并从头构建项目

使用Makefile.in和configure.ac清理并从头构建项目
EN

Stack Overflow用户
提问于 2014-10-24 09:12:16
回答 3查看 532关注 0票数 1

克隆了一个开源项目(使用Git)之后,我想要构建它。

此外,我希望能够从头开始,然后再试一次(用于git-bisect)。

干净检出包含Makefile.inconfigure.ac,但不包含configure

假设这个项目没有任何容易找到的指令,那么做这些事情的秘诀是什么呢?这是不是很标准?是否存在有时可能需要的常见变体?

EN

回答 3

Stack Overflow用户

发布于 2014-10-24 10:35:00

尽管我看到一些帖子建议使用autoreconf -fi,但我只使用autoconf就能得到更好的结果,因为使用前者的make步骤失败了(有关基本描述,请参阅autoconfautoreconf )。也许在一般情况下,如果其中一个不起作用,那么尝试另一个--确保清理中间,这样结果就不会受到污染。

以下是一些常见的步骤:

代码语言:javascript
复制
## 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
EN

Stack Overflow用户

发布于 2014-10-29 14:23:11

如果你正在使用Git,那么你应该能够完全绕过自动工具,只需在一分为二的步骤之间执行git clean -xdf即可。

票数 1
EN

Stack Overflow用户

发布于 2015-07-13 00:43:40

正如其他人已经在注释中指出的那样,configure.ac文件通常伴随着一个autogen.shbootstrap.sh脚本来生成配置脚本。

例如,根据约定,GNOME project倾向于依赖autogen.sh脚本,因此可以使用以下命令集构建项目(请随意查看GNOME的gtk+ source code,以了解在该约定下根构建目录通常是什么样子的):

代码语言:javascript
复制
./autogen.sh --prefix=$PREFIX && make && make install

在运行./autogen.sh脚本之后,您将看到在构建根目录中生成的configure脚本。

如果在你的特定项目中没有这样的脚本,并且它不能回答你的问题,那么如果你能够提供一个链接到你的查询具体涉及的项目的源代码,那么它可能会很有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26540012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档