如何存储GNU make&在别处配置文件?我有一个我正在研究的项目,我使用以下方法编译:
./configure --prefix=/usr && make && su -c 'make install'
问题是我不想污染当前文件夹,这是一个svn / git / hg /无论沙箱与该命令生成的文件。我想将这些文件放在一个单独的位置。我不知道它是否相似,但是当我从源代码编译linux内核时,我可以通过将'O'选项传递给'make'来指定放置输出的位置,如下所示:
make O=/home/user/linux-output
答案 0 :(得分:9)
Makefile必须支持此功能。
我认为 autoconf生成的makefile都支持以下用途:
mkdir ../build
cd ../build
../configure --prefix=/usr
make
make install
(肯定推荐用于gcc版本。)
答案 1 :(得分:1)
正如Kristof已经指出的那样,GNU autotools固有地支持configure
级别的树外构建。
因此,您可以轻松地从源代码树中获取Makefile和构建的二进制文件。
要从源树中获取所有自动生成的文物,需要做更多的工作。
我们有一个脚本可以将源树中的更改复制到working_copy中,在working_copy中仔细保留配置脚本等,这样可以使原始源树保持原始状态。然而,这是非常低效的,所以我不推荐它。
我建议使用正常的树外构建,然后明确排除源树中剩余的自动生成的文件。