【发布时间】:2021-05-02 20:45:45
【问题描述】:
如果我使用 autoconf 构建包,如何将 source/build* 目录中的所有内容复制到另一个位置以进行进一步测试等?
为了进一步详细说明,我想对我的一些工作进行简单备份,方法是在复制目录之前在一个目录中构建 + 测试所有内容,对代码应用一些转换(不需要重新编译),然后重新运行测试。我遇到的问题是 autoconf 似乎希望我在新复制的目录中运行autoreconf,这需要我重建东西。如果可能的话,这是我想避免的。
例如,当我尝试使用新复制的 m4 运行测试时(甚至没有应用任何转换),我得到以下信息:
m4-1.4.18/build-aux/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
You should only need it if you modified 'acinclude.m4' or
'configure.ac' or m4 files included by 'configure.ac'.
The 'aclocal' program is part of the GNU Automake package:
<http://www.gnu.org/software/automake>
It also requires GNU Autoconf, GNU m4 and Perl in order to run:
<http://www.gnu.org/software/autoconf>
<http://www.gnu.org/software/m4/>
<http://www.perl.org/>
编辑:
正如@Bodo所指出的,我应该说我使用的复制方法是cp -r。
* 我在源目录中构建东西,没有单独的构建目录。
【问题讨论】:
-
如何将构建复制到另一个目录?我想通过复制您以
make想要重建目标的方式修改了时间戳。您可以使用 Git 之类的工具来创建源代码的备份。或者您可以使用tar复制带有时间戳的文件。 -
我只使用标准的
cp -r。嗯,好的,我会查看tar以复制时间戳!谢谢。我可以使用 Git,而且我最终可能会使用,但是对于我现在正在做的事情来说,它似乎有点笨拙。 -
请在问题中添加说明(关于
cp -r)。 -
@Bodo 使用
tar工作并解决了我的问题。谢谢!
标签: linux build compilation autoconf