当我使用“make”运行我的自动工具生成的 Makefile 时,它会在当前目录中生成文件。我希望它不要“污染”我的目录,而是将程序移动到“bin/”(因为源在“src/”中)
使用自动工具可以做到这一点吗?(使用 autoconf 和 automake - 不是 libtool)
当我使用“make”运行我的自动工具生成的 Makefile 时,它会在当前目录中生成文件。我希望它不要“污染”我的目录,而是将程序移动到“bin/”(因为源在“src/”中)
使用自动工具可以做到这一点吗?(使用 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
中,包括源代码、构建文件和测试安装。
在使用当前工作目录从 shell 编辑源代码树的过程中,foobar-1.2.3/_b
可以轻松删除内置文件rm -rf _b
,并使用测试安装。rm -rf _i
foobar-1.2.3
当然,您可以使用它的一种变体并将构建/安装目录移动到一个目录:foobar-1.2.3--b
和foobar-1.2.3--i
旁边foobar-1.2.3
的 .