git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 6/7] build: "make clean" should not remove configure-generated files

From
Stefano Lattarini <stefano.lattarini@gmail.com>
Date
Jul 18, 2012, 22:35 UTC
Message-ID
<e763e7f466efa34f48589f8353a7316fff469145.1342649928.git.stefano.lattarini@gmail.com>
In-Reply-To
<cover.1342649928.git.stefano.lattarini@gmail.com>

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>
---
 Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 285c660..88a76a3 100644
--- a/Makefile
+++ b/Makefile
@@ -2742,6 +2742,9 @@ dist-doc:
 
 distclean: clean
 	$(RM) configure
+	$(RM) config.log config.status config.cache
+	$(RM) config.mak.autogen config.mak.append
+	$(RM) -r autom4te.cache
 
 profile-clean:
 	$(RM) $(addsuffix *.gcda,$(addprefix $(PROFILE_DIR)/, $(object_dirs)))
@@ -2756,8 +2759,6 @@ clean: profile-clean
 	$(RM) -r $(dep_dirs)
 	$(RM) -r po/build/
 	$(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h $(ETAGS_TARGET) tags cscope*
-	$(RM) -r autom4te.cache
-	$(RM) config.log config.mak.autogen config.mak.append config.status config.cache
 	$(RM) -r $(GIT_TARNAME) .doc-tmp-dir
 	$(RM) $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
 	$(RM) $(htmldocs).tar.gz $(manpages).tar.gz
-- 
1.7.10.2.1067.g553d16e
Previous: Stefano LattariniNext: Matthieu Moy
Message 13 of 31 in “build system: support automatic reconfiguration for autotools user”
  1. 0/7 build system: support automatic reconfiguration for autotools userStefano Lattarini, Jul 18, 2012
  2. 1/7 autoconf: GIT_CONF_APPEND_LINE: change signatureStefano Lattarini, Jul 18, 2012
  3. 2/7 autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBSTStefano Lattarini, Jul 18, 2012
  4. Junio C HamanoJul 19, 2012
  5. Stefano LattariniJul 19, 2012
  6. 3/7 autoconf: remove some redundant shell indirectionsStefano Lattarini, Jul 18, 2012
  7. Junio C HamanoJul 19, 2012
  8. Stefano LattariniJul 19, 2012
  9. Junio C HamanoJul 19, 2012
  10. Stefano LattariniJul 19, 2012
  11. 4/7 autoconf: remove few redundant semicolonsStefano Lattarini, Jul 18, 2012
  12. 5/7 autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append'Stefano Lattarini, Jul 18, 2012
  13. 6/7 build: "make clean" should not remove configure-generated filesStefano Lattarini, Jul 18, 2012
  14. Matthieu MoyJul 19, 2012
  15. Stefano LattariniJul 19, 2012
  16. Matthieu MoyJul 19, 2012
  17. Stefano LattariniJul 19, 2012
  18. Junio C HamanoJul 19, 2012
  19. 7/7 build: reconfigure automatically if configure.ac changesStefano Lattarini, Jul 18, 2012
  20. Junio C HamanoJul 19, 2012
  21. 0/7 build system: support automatic reconfiguration for autotools userStefano Lattarini, Jul 19, 2012
  22. 1/7 autoconf: GIT_CONF_APPEND_LINE: change signatureStefano Lattarini, Jul 19, 2012
  23. 2/7 autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBSTStefano Lattarini, Jul 19, 2012
  24. 3/7 autoconf: remove some redundant shell indirectionsStefano Lattarini, Jul 19, 2012
  25. 4/7 autoconf: remove few redundant semicolonsStefano Lattarini, Jul 19, 2012
  26. 5/7 autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append'Stefano Lattarini, Jul 19, 2012
  27. 6/7 build: "make clean" should not remove configure-generated filesStefano Lattarini, Jul 19, 2012
  28. Stefano LattariniJul 23, 2012
  29. Junio C HamanoJul 23, 2012
  30. 7/7 build: reconfigure automatically if configure.ac changesStefano Lattarini, Jul 19, 2012
  31. Stefano LattariniJul 23, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.