Autotools本地目标目录

问题描述:

当我使用“make”运行我的autotools生成的Makefile时,它会生成当前目录中的文件。我宁愿它不“污染”我的目录,但将程序移动到“bin /”(因为源是在“src /”中)Autotools本地目标目录

这是可能的autotools? (使用autoconf和automake的 - 不libtool的)

mkdir builddir 
cd builddir 
../foobar-1.2.3/configure --my --options (or) 
/path/to/foobar-1.2.3/configure --my --options 
make 
make foobar 
make check 
make install 

我通常最终会手动构建时蒙山是一样的东西

cd foobar-1.2.3 
(mkdir _b && cd _b && ../configure --prefix=$PWD/../_i) 
make -C _b all check install installcheck 
./_i/bin/foobar 
vi foo.c bar.c foobar.h 
gimp icons/foobar-moo.png 
make -C _b install && ./_i/bin/foobar 

然后,我有相关的foobar的程序一个目录foobar-1.2.3内整个东西包括源代码,构建文件和测试安装。

foobar-1.2.3/_b内置的文件很容易与rm -rf _b去除,并且测试安装与rm -rf _i,从与当前工作目录foobar-1.2.3一个shell编辑源代码树的过程。

当然,您可以使用该版本的一个变体,并将生成/安装目录移至一个目录:foobar-1.2.3--bfoobar-1.2.3--i以及foobar-1.2.3

+0

看起来不错,我可能会最终使用这个。但是,默认情况下没有简单的方法来重定向吗? – alternative 2009-11-12 00:29:18

+0

Automake创建的make规则可以编译到源目录树中,并且可以编译为源目录树的一种“空白镜像”。没有第三种选择。 – ndim 2009-11-12 00:43:28

+0

你能详细说明一下吗? – alternative 2009-11-12 01:02:52