I'm trying out lighttpd
for an embedded Linux project. I got the latest source package and started writing a master Makefile encapsulating all configure, compile, install (for testing) etc stuff.
And vice-versa, I want to cleanup every step. After the cleanup there should be no generated files anymore. This is important for repetitive testing.
I wonder if there is a way to do a complete cleanup of what ./configure
generated? I'm not familiar with autotools
in details.
Any hints?
I personally would really use the features of a source control software (you should use one) for this. This would cleanup make independent of your build process. See eg svn-cleanup
or git clean
.
Nevertheless, automake allows some tweaking when to remove which files. This has (intentionally?) built-in limitations on what files generated by autotools can be remove this way though. Have a look at the definitions for MOSTLYCLEANFILES, CLEANFILES, DISTCLEANFILES, and MAINTAINERCLEANFILES and adjust your Makefile.am
's. With them you can remove a lot of stuff with
make mostlyclean
make clean
make distclean
make maintainer-clean
You won't be able to remove eg Makefile
or .deps/
this way.
As for the reliability of make clean
it should "work 100%" if you stick to cleanly specifying your files and stay away from manual intervention. Otherwise extend the cleanup rules .
In addition to Benjamin Bannier's answer , the generated files names may be listed in .gitignore
file so that they are ignored, not tracked with git and don't irritate and bother when run git status
. You can't remove these files with git clean
. In this case I personally use rm -rf * ; git checkout .
rm -rf * ; git checkout .
command.
But don't use that if you have other ignored files which you don't want to be removed!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.