如何将Automake项目源码树重置至执行./configure前的状态?
恢复Automake项目至
./configure执行前状态的简便方法 嘿,这个问题我太熟了!Automake项目里./configure生成的那些带平台专属信息的文件,确实没法用常规的make clean清理干净,给你几个靠谱的解决办法:
1. 优先使用官方标准命令:make distclean
这是最推荐的方法,几乎所有正规的Automake项目都会支持这个目标。执行:
make distclean
它会帮你清理掉./configure生成的所有文件——包括各种Makefile、config.status、config.log、config.cache,同时也会完成make clean的工作(删掉编译出的二进制文件),直接把项目拉回执行./configure之前的状态。
2. 兜底方案:make maintainer-clean
如果make distclean没能清理干净(比如某些特殊定制的项目),可以试试这个更彻底的命令:
make maintainer-clean
它会删掉更多文件,甚至包括Automake工具自身生成的Makefile.in这类文件。不过要注意:如果你不是项目的维护者,执行这个命令后,可能需要重新运行autoconf、automake这类工具才能再次执行./configure,所以一般只在distclean失效时用。
3. Git管理项目的快捷方式:git clean -dfx
如果你的项目是用Git版本控制的,那这个命令简直是神器:
git clean -dfx
它会删除所有不在Git版本库中追踪的文件,也就是所有./configure生成的临时文件、编译产物都会被一键清空。不过使用前要确认你没有未提交的自定义修改——这个命令会直接删掉这些未追踪的文件,找不回来的!
4. 手动清理(适合小项目/特殊场景)
如果上面的命令都不适用,也可以手动删除这些典型的生成文件:
- 根目录及所有子目录下的
Makefile - 根目录的
config.status、config.log、config.cache文件 autom4te.cache目录- 编译生成的二进制/库文件(
make clean通常已经处理这个,但可以再检查下)
内容的提问来源于stack exchange,提问作者pah8J
相关产品推荐
相关产品推荐

