当我使用“make”运行我的autotools生成的Makefile时,它会在当前目录中生成文件。我希望它不会“污染”我的目录,而是将程序移动到“bin /”(因为源代码是“src /”)
autotools可以实现吗? (使用autoconf和automake - 非libtool)
答案 0 :(得分:3)
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-1.2.3
中拥有与foobar程序相关的全部内容,包括源代码,构建文件和测试安装。
使用foobar-1.2.3/_b
轻松删除rm -rf _b
中的构建文件,使用rm -rf _i
轻松删除测试安装,在使用当前工作目录{{ 1}}。
当然,您可以使用其变体并将构建/安装目录移到一个目录:foobar-1.2.3
和foobar-1.2.3--b
旁边foobar-1.2.3--i
。