build: "make clean" should not remove configure-generated files

Those filed hold variables, settings and information set by the configuration process run by './configure'; in Autotools-based build system that kind of stuff should only be removed by "make distclean". Having it removed by "make clean" is not only inconsistent, but causes real confusion for that part of the Git audience that is used to the Autotools semantics; for example, an autotools old-timer that has run: ./configure --prefix /opt/git in the past, without running "make distclean" afterwards, would expect a "make install" issued after a "make clean" to rebuild and install git in '/opt/git'; but with the current behaviour, the "make clean" invocation removes (among the other things) the file 'config.mak.autogen', so that the "make install" falls back to the default prefix of '$HOME', thus installing git in the user's home directory -- definitely unexpected. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Stefano Lattarini committed Jul 19, 2012 at 09:50 UTC dc7ace5f776f30fe4e10d8a3fa8146ad21893544
1 file changed +3 -2
Makefile
+3 -2
@@ -2742,6 +2742,9 @@ dist-doc:
2742
2743 distclean: clean
2744 $(RM) configure
2745 + $(RM) config.log config.status config.cache
2746 + $(RM) config.mak.autogen config.mak.append
2747 + $(RM) -r autom4te.cache
2748
2749 profile-clean:
2750 $(RM) $(addsuffix *.gcda,$(addprefix $(PROFILE_DIR)/, $(object_dirs)))
@@ -2756,8 +2759,6 @@ clean: profile-clean
2759 $(RM) -r $(dep_dirs)
2760 $(RM) -r po/build/
2761 $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h $(ETAGS_TARGET) tags cscope*
2759 - $(RM) -r autom4te.cache
2760 - $(RM) config.log config.mak.autogen config.mak.append config.status config.cache
2762 $(RM) -r $(GIT_TARNAME) .doc-tmp-dir
2763 $(RM) $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
2764 $(RM) $(htmldocs).tar.gz $(manpages).tar.gz