如何选择autoconf构建目录?

11
有没有办法设置autoconf生成目标文件的位置?我希望所有的目标文件都能被autoconf生成在src/build/目录下,而不是src/目录下。
我尝试过设置VPATH,但好像没有起到作用。 VPATH = build

1
autoconf 不会生成目标文件。你的问题可能与 automake 有关,而 autoconf 经常在没有 automake 的情况下使用。 - William Pursell
1个回答

14
你可以通过在想要生成目标文件的目录中运行configure来实现此操作。例如,如果configure和所有代码都在名为src的目录中,则从该目录开始,以下命令应该可以实现你想要的功能:
$ mkdir build
$ cd build
$ ../configure
$ make

如果您没有使用Automake,那么您需要编写自己的Makefile.in来处理这种情况;在autoconf manual中有相关说明

我正在使用automake,但是在make时失败了。***没有生成目标“IfxDatabase.lo”,需要“libifxapi.la”。停止。有什么建议吗? - Adam Magaluk
我的错,这个很好用。之前我在尝试让它工作时,在src目录下的Makefile.am中设置了VPATH。 - Adam Magaluk
4
请记住,您需要正确编写Makefile.am文件。很容易编写一个无法在源代码目录之外进行构建的Makefile.am文件。使用“make distcheck”可以捕获这样的错误。 - William Pursell
将生成的configure和其他文件放置在单独的目录中,这是否可行? - Ciro Santilli OurBigBook.com
谢谢。我只想要一个完整的树外构建,不需要在树内生成任何东西。现在有点懒得问新问题了,如果有需要的话我会联系你的 :-) - Ciro Santilli OurBigBook.com

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接