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--b
和foobar-1.2.3--i
以及foobar-1.2.3
。
看起来不错,我可能会最终使用这个。但是,默认情况下没有简单的方法来重定向吗? – alternative 2009-11-12 00:29:18
Automake创建的make规则可以编译到源目录树中,并且可以编译为源目录树的一种“空白镜像”。没有第三种选择。 – ndim 2009-11-12 00:43:28
你能详细说明一下吗? – alternative 2009-11-12 01:02:52