emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r99718: Get rid of .elc files after r


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r99718: Get rid of .elc files after removal of the corresponding .el.
Date: Mon, 22 Mar 2010 09:33:21 -0400
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 99718
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Mon 2010-03-22 09:33:21 -0400
message:
  Get rid of .elc files after removal of the corresponding .el.
  * Makefile.in (compile-clean): New target.
  (compile-main): Use it.
modified:
  lisp/ChangeLog
  lisp/Makefile.in
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-03-22 07:50:40 +0000
+++ b/lisp/ChangeLog    2010-03-22 13:33:21 +0000
@@ -1,3 +1,9 @@
+2010-03-22  Stefan Monnier  <address@hidden>
+
+       Get rid of .elc files after removal of the corresponding .el.
+       * Makefile.in (compile-clean): New target.
+       (compile-main): Use it.
+
 2010-03-22  Jan Djärv  <address@hidden>
 
        * Makefile.in (compile-main): cd to $(lisp) in a sub-shell, so we
@@ -19,7 +25,8 @@
        (srcdir): Don't append `/..'.
        (EMACS): Use ${abs_top_builddir}.
        (all, compile, compile-always, compile-last): Don't set emacswd.
-       (update-subdirs, update-authors): Use $(top_srcdir) instead of 
$(srcdir).
+       (update-subdirs, update-authors): Use $(top_srcdir) instead of
+       $(srcdir).
        (lisp): Use $(srcdir) instead of @address@hidden
 
 2010-03-21  Juri Linkov  <address@hidden>

=== modified file 'lisp/Makefile.in'
--- a/lisp/Makefile.in  2010-03-22 07:50:40 +0000
+++ b/lisp/Makefile.in  2010-03-22 13:33:21 +0000
@@ -235,7 +235,7 @@
 
 # Compile all the Elisp files that need it.  Beware: it approximates
 # `no-byte-compile', so watch out for false-positives!
-compile-main:
+compile-main: compile-clean
        @(cd $(lisp); $(setwins); \
        els=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el 
|g'`; \
        for el in $$els; do \
@@ -247,6 +247,18 @@
          $(MAKE) $(MFLAGS) compile-targets EMACS="$(EMACS)" TARGETS="$$chunk"; 
\
        done
 
+.PHONY: compile-clean
+# Erase left-over .elc files that do not have a corresponding .el file.
+compile-clean:
+       @cd $(lisp); $(setwins); \
+       elcs=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| 
|/*.elc |g'`; \
+       for el in $$(echo $$elcs | sed -e 's/\.elc/\.el/g'); do \
+         if test -f "$$el" -o \! -f "$${el}c"; then :; else \
+           echo rm "$${el}c"; \
+           rm "$${el}c"; \
+         fi \
+       done
+
 # Compile all Lisp files, but don't recompile those that are up to
 # date.  Some .el files don't get compiled because they set the
 # local variable no-byte-compile.


reply via email to

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