我正在为一个嵌入式Linux项目试用lighttpd。我得到了最新的源包,并开始编写一个主Makefile,其中封装了所有的配置、编译、安装(用于测试)等内容。
反之亦然,我想清理每一步。清理之后,应该不会再有生成的文件。这对于重复测试很重要。
我想知道是否有一种方法可以完全清理./configure生成的内容?我对autotools的细节不太熟悉。
有什么提示吗?
发布于 2010-05-30 08:34:08
我个人真的会使用源代码控制软件的功能(你应该使用一个)来做这件事。这将清理make独立于您的构建过程。例如,请参阅svn-cleanup或git clean。
然而,automake允许在何时删除哪些文件时进行一些调整。这是(故意的?)但是,通过这种方式可以消除自动工具生成的文件的内置限制。看看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。
发布于 2016-04-03 21:47:00
除了Benjamin Bannier's answer之外,生成的文件名可能会在.gitignore文件中列出,这样它们就会被忽略,不会被git跟踪,并且在运行git status时不会激怒和麻烦。您不能使用git clean删除这些文件。在这种情况下,我个人使用rm -rf * ; git checkout .命令。
但是如果你有其他你不想删除的被忽略的文件,请不要使用它!
https://stackoverflow.com/questions/2936116
复制相似问题