Autotools:如何清理lighttpd项目中“./configure”创建的文件?

时间:2010-05-29 18:17:43

标签: makefile autotools configure lighttpd undo

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

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

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

任何提示?

2 个答案:

答案 0 :(得分:30)

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

然而,automake允许一些调整何时删除哪些文件。这有(故意?)内置的限制,可以通过这种方式删除autotools生成的文件。查看the definitions for MOSTLYCLEANFILES, CLEANFILES, DISTCLEANFILES, and MAINTAINERCLEANFILES并调整Makefile.am。有了它们,你可以用

删除很多东西
make mostlyclean
make clean
make distclean
make maintainer-clean

您将无法移除,例如这样Makefile.deps/

至于make clean的可靠性,如果您坚持干净地指定文件并远离手动干预,它应该“100%工作”。否则extend the cleanup rules

答案 1 :(得分:4)

除了Benjamin Bannier's answer之外,生成的文件名称可能会列在.gitignore文件中,以便忽略它们,不会使用git进行跟踪,并且在运行时不会烦恼和烦恼{{1 }}。您无法使用git status删除这些文件。在这种情况下,我个人使用git clean命令。

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