36

我正在尝试lighttpd一个嵌入式 Linux 项目。我得到了最新的源代码包并开始编写一个主 Makefile 封装所有配置、编译、安装(用于测试)等内容。

反之亦然,我想清理每一步。清理后应该不再有生成的文件。这对于重复测试很重要。

我想知道是否有办法彻底清理./configure生成的内容?我不熟悉autotools细节。

有什么提示吗?

4

2 回答 2

40

我个人真的会为此使用源代码控制软件(你应该使用一个)的功能。这将使清理独立于您的构建过程。参见例如svn-cleanupgit clean

不过,automake 允许对何时删除哪些文件进行一些调整。不过,这(故意?)对自动工具生成的哪些文件可以通过这种方式删除的内置限制。查看MOSTLYCLEANFILES、CLEANFILES、DISTCLEANFILES 和 MAINTAINERCLEANFILES 的定义并调整您Makefile.am的 's. 有了它们,您可以删除很多东西

make mostlyclean
make clean
make distclean
make maintainer-clean

您将无法删除 egMakefile.deps/这种方式。

至于它的可靠性make clean应该“100%工作”,如果你坚持干净地指定你的文件并远离手动干预。否则扩展清理规则

于 2010-05-30T00:34:08.267 回答
4

除了Benjamin Bannier 的回答之外,生成的文件名可能会列在.gitignore文件中,以便它们被忽略,不被 git 跟踪,并且在运行时不会刺激和打扰git status。您不能使用git clean. 在这种情况下,我个人使用rm -rf * ; git checkout .命令。

但是,如果您有其他不想删除的被忽略文件,请不要使用它!

于 2016-04-03T13:46:59.883 回答