1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-29 11:02:01 +00:00

Get rid of .elc files after removal of the corresponding .el.

* Makefile.in (compile-clean): New target.
(compile-main): Use it.
This commit is contained in:
Stefan Monnier 2010-03-22 09:33:21 -04:00
parent 835e2c65be
commit 64cb11ccee
2 changed files with 21 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2010-03-22 Stefan Monnier <monnier@iro.umontreal.ca>
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 <jan.h.d@swipnet.se>
* 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 @srcdir@.
2010-03-21 Juri Linkov <juri@jurta.org>

View File

@ -235,7 +235,7 @@ compile-targets: $(TARGETS)
# 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 @@ compile-main:
$(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.