如果我使用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
。
*我在源目录中构建事物,而没有单独的构建目录。
通过复制数据,cp -r
您可以将修改时间设置为复制时间来创建新文件。根据文件复制的顺序,这将导致make
(或您的构建工具)重新构建目标。
您可以使用类似
cd sourcedir
tar cvf ../sorcedit.tar .
cd ../targetdir
tar xvf ../sourcedir.tar
复制文件,同时保留其原始时间戳。
或者,您可以使用诸如Git(或任何其他分布式版本控制系统)之类的东西来保存工作的每一步。然后,您可以直接在source / build目录中运行测试,然后丢弃所有文件(当然,除了Git存储库),然后使用Git重新创建源文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句