我正在尝试lighttpd
一个嵌入式 Linux 项目。我得到了最新的源代码包并开始编写一个主 Makefile 封装所有配置、编译、安装(用于测试)等内容。
反之亦然,我想清理每一步。清理后应该不再有生成的文件。这对于重复测试很重要。
我想知道是否有办法彻底清理./configure
生成的内容?我不熟悉autotools
细节。
有什么提示吗?
我个人真的会为此使用源代码控制软件(你应该使用一个)的功能。这将使清理独立于您的构建过程。参见例如svn-cleanup
或git clean
。
不过,automake 允许对何时删除哪些文件进行一些调整。不过,这(故意?)对自动工具生成的哪些文件可以通过这种方式删除的内置限制。查看MOSTLYCLEANFILES、CLEANFILES、DISTCLEANFILES 和 MAINTAINERCLEANFILES 的定义并调整您Makefile.am
的 's. 有了它们,您可以删除很多东西
make mostlyclean
make clean
make distclean
make maintainer-clean
您将无法删除 egMakefile
或.deps/
这种方式。
至于它的可靠性make clean
应该“100%工作”,如果你坚持干净地指定你的文件并远离手动干预。否则扩展清理规则。
除了Benjamin Bannier 的回答之外,生成的文件名可能会列在.gitignore
文件中,以便它们被忽略,不被 git 跟踪,并且在运行时不会刺激和打扰git status
。您不能使用git clean
. 在这种情况下,我个人使用rm -rf * ; git checkout .
命令。
但是,如果您有其他不想删除的被忽略文件,请不要使用它!