[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A target that's even more bootstrap?

From: Lars Ingebrigtsen
Subject: Re: A target that's even more bootstrap?
Date: Thu, 20 Jun 2019 13:32:28 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

> Great, thanks.  What's left is to update every Makefile.in with its
> share of files to delete in the extraclean target.

With the patch below, the only remaining files (not in a clean
check-out) are:


Should the ./configure file also be deleted by extraclean?

If I remove src/config.in, then the subsequent "make" after "make
extraclean" fails with

config.status: error: cannot find input file: `src/config.in'
GNUmakefile:72: recipe for target 'Makefile' failed

and I have to run autogen.sh again...

The two directories 


perhaps don't matter, and I'd rather not do an rm -rf on a directory...

diff --git a/Makefile.in b/Makefile.in
index 21362a9196..26463cec64 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -933,14 +933,15 @@ maintainer-clean: bootstrap-clean $(maintainer_clean_dirs:
 ### Note that we abuse this in some subdirectories (eg leim),
 ### to delete some generated files that are slow to rebuild.
 extraclean_dirs = ${NTDIR} lib-src src leim \
-  admin/charsets admin/grammars admin/unidata
+  admin/charsets admin/grammars admin/unidata lisp lib
 $(foreach dir,$(extraclean_dirs),$(eval $(call 
 extraclean: $(extraclean_dirs:=_extraclean)
-       -rm -f config-tmp-*
-       -rm -f ./*~ \#*
+       -rm -f config-tmp-* aclocal.m4
+       -rm -f ./*~ \#* etc/refcards/emacsver.tex doc/emacs/emacsver.texi
+       -rm -f ${infodir}/*.info ${infodir}/dir
 # The src subdir knows how to do the right thing
 # even when the build directory and source dir are different.
diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in
index 31efba0227..a522b0c3aa 100644
--- a/admin/unidata/Makefile.in
+++ b/admin/unidata/Makefile.in
@@ -116,6 +116,6 @@ maintainer-clean:
 ## Do not remove these files, even in a bootstrap, because they rarely
 ## change and it slows down bootstrap (a tiny bit).
 ## Cf leim/ja-dic (which is much slower).
+extraclean: distclean
        rm -f ${top_srcdir}/src/macuvs.h ${unidir}/charscript.el*
        rm -f ${unifiles} ${unidir}/charprop.el
diff --git a/leim/Makefile.in b/leim/Makefile.in
index 4307d50087..d5619d9c67 100644
--- a/leim/Makefile.in
+++ b/leim/Makefile.in
@@ -159,7 +159,7 @@ maintainer-clean:
 ## We do not delete ja-dic, even in a bootstrap, because it rarely
 ## changes and is slow to regenerate.
+extraclean: bootstrap-clean
        rm -rf ${leimdir}/ja-dic
 ### Makefile.in ends here
diff --git a/lib/Makefile.in b/lib/Makefile.in
index ac32c7070f..bf9b01f143 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -126,6 +126,8 @@ distclean bootstrap-clean:
        rm -fr $(DEPDIR)
 maintainer-clean: distclean
        rm -f TAGS gnulib.mk
+extraclean: distclean
 .PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 9bcd5a8824..6d37884c7e 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -453,7 +453,7 @@ $(CAL_DIR)/hol-loaddefs.el:
           --eval "(setq generated-autoload-file (expand-file-name 
(unmsys--file-name \"$@\")))" \
           -f batch-update-autoloads $(CAL_DIR)
-.PHONY: bootstrap-clean distclean maintainer-clean
+.PHONY: bootstrap-clean distclean maintainer-clean extraclean
        find $(lisp) -name '*.elc' $(FIND_DELETE)
@@ -465,6 +465,8 @@ distclean:
 maintainer-clean: distclean bootstrap-clean
        rm -f TAGS
+extraclean: bootstrap-clean distclean
 .PHONY: check-declare
diff --git a/src/Makefile.in b/src/Makefile.in
index 02a1a2c4cf..44c22ef5de 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -723,7 +723,7 @@ maintainer-clean:
        -rm -f emacs$(EXEEXT) emacs-*.*.*[0-9]$(EXEEXT) ../etc/DOC*
 extraclean: distclean
-       -rm -f ./*~ \#*
+       -rm -f ./*~ \#* TAGS
 ETAGS = ../lib-src/etags${EXEEXT}

(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no

reply via email to

[Prev in Thread] Current Thread [Next in Thread]