[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r114908: Small Makefile cleanup mainly related to ta
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] trunk r114908: Small Makefile cleanup mainly related to tags file generation |
Date: |
Sat, 02 Nov 2013 19:18:59 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 114908
revision-id: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Sat 2013-11-02 12:18:50 -0700
message:
Small Makefile cleanup mainly related to tags file generation
* src/Makefile.in (abs_srcdir): New, set by configure.
(maintainer-clean): Remove pointless echo. That should be in the
top-level Makefile, if anywhere. Delete TAGS-LISP.
(extraclean): No s/ and m/ directories for some time.
(TAGS): Remove no-longer-defined S_FILE.
Pass absolute filenames to etags once more.
(TAGS-LISP, $(lwlibdir)/TAGS): Correctly pass ETAGS to sub-makes.
($(lwlibdir)/TAGS): Remove useless subshell, check cd return value.
* lisp/Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3)
(lisptagsfiles4): Use absolute filenames again.
(TAGS, TAGS-LISP): Not everything needs to run in one line.
Remove all *loaddefs files, not just the first. Remove esh-groups.
(maintainer-clean): Delete TAGS, TAGS-LISP.
* lwlib/Makefile.in (abs_srcdir): New, set by configure.
(ETAGS, ctagsfiles): New variables.
(TAGS): Use ETAGS, ctagsfiles. Use absolute filenames again.
modified:
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/Makefile.in
makefile.in-20091113204419-o5vbwnq5f7feedwu-1831
lwlib/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1447
lwlib/Makefile.in makefile.in-20091113204419-o5vbwnq5f7feedwu-662
src/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1438
src/Makefile.in makefile.in-20091113204419-o5vbwnq5f7feedwu-631
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2013-11-02 14:58:38 +0000
+++ b/lisp/ChangeLog 2013-11-02 19:18:50 +0000
@@ -1,3 +1,11 @@
+2013-11-02 Glenn Morris <address@hidden>
+
+ * Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3)
+ (lisptagsfiles4): Use absolute filenames again.
+ (TAGS, TAGS-LISP): Not everything needs to run in one line.
+ Remove all *loaddefs files, not just the first. Remove esh-groups.
+ (maintainer-clean): Delete TAGS, TAGS-LISP.
+
2013-11-02 Bozhidar Batsov <address@hidden>
* emacs-lisp/package.el (package-version-join): Recognize
=== modified file 'lisp/Makefile.in'
--- a/lisp/Makefile.in 2013-11-01 17:26:29 +0000
+++ b/lisp/Makefile.in 2013-11-02 19:18:50 +0000
@@ -49,12 +49,6 @@
# BYTE_COMPILE_EXTRA_FLAGS = --eval '(setq byte-compile-warnings (quote (not
unresolved)))'
# The example above is just for developers, it should not be used by default.
-lisptagsfiles1 = $(lisp)/*.el
-lisptagsfiles2 = $(lisp)/*/*.el
-lisptagsfiles3 = $(lisp)/*/*/*.el
-lisptagsfiles4 = $(lisp)/*/*/*/*.el
-ETAGS = ../lib-src/etags
-
# Automatically generated autoload files, apart from lisp/loaddefs.el.
# Note this includes only those files that need special rules to
# build; ie it does not need to include things created via
@@ -217,10 +211,30 @@
update-authors:
$(emacs) -l authors -f batch-update-authors $(top_srcdir)/etc/AUTHORS
$(top_srcdir)
+
+ETAGS = ../lib-src/etags
+
+## NB We use absolute filenames because ../src/Makefile calls this via
+## make -f ../lisp/Makefile.
+## FIXME? Can etags work ok with relative filenames?
+lisptagsfiles1 = $(abs_srcdir)/*.el
+lisptagsfiles2 = $(abs_srcdir)/*/*.el
+lisptagsfiles3 = $(abs_srcdir)/*/*/*.el
+lisptagsfiles4 = $(abs_srcdir)/*/*/*/*.el
+
+## Apparently the echo | sed | xargs is to stop the command line
+## getting too long on MS Windows. It will make no difference on
+## POSIX systems, where the shell does the globbing right away, before
+## passing the expanded arguments to echo.
TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3)
$(lisptagsfiles4)
- rm -f $@; touch $@; \
- echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3)
$(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e
"s,$(lisp)/ldefs-boot[^ ]*,," | \
- xargs $(XARGS_LIMIT) ${ETAGS} -a -o $@
+ rm -f $@
+ touch $@
+ echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3)
$(lisptagsfiles4) | \
+ sed -e 's,$(abs_srcdir)/[^ ]*loaddefs[^ ]*,,g' \
+ -e 's,$(abs_srcdir)/ldefs-boot[^ ]*,,' \
+ -e 's,$(abs_srcdir)/[^ ]*esh-groups.el[^ ]*,,' | \
+ xargs $(XARGS_LIMIT) "$(ETAGS)" -a -o $@
+
# The src/Makefile.in has its own set of dependencies and when they decide
# that one Lisp file needs to be re-compiled, we had better recompile it as
@@ -444,6 +458,7 @@
-rm -f ./Makefile $(lisp)/loaddefs.el~
maintainer-clean: distclean bootstrap-clean
+ rm -f TAGS TAGS-LISP
.PHONY: check-declare
=== modified file 'lwlib/ChangeLog'
--- a/lwlib/ChangeLog 2013-10-24 02:15:16 +0000
+++ b/lwlib/ChangeLog 2013-11-02 19:18:50 +0000
@@ -1,3 +1,9 @@
+2013-11-02 Glenn Morris <address@hidden>
+
+ * Makefile.in (abs_srcdir): New, set by configure.
+ (ETAGS, ctagsfiles): New variables.
+ (TAGS): Use ETAGS, ctagsfiles. Use absolute filenames again.
+
2013-10-24 Glenn Morris <address@hidden>
* Makefile.in (abs_top_srcdir): New, set by configure.
=== modified file 'lwlib/Makefile.in'
--- a/lwlib/Makefile.in 2013-10-24 04:05:54 +0000
+++ b/lwlib/Makefile.in 2013-11-02 19:18:50 +0000
@@ -23,6 +23,7 @@
# and set up to be configured by ../configure.
address@hidden@
address@hidden@
# MinGW CPPFLAGS may use this.
address@hidden@
address@hidden@
@@ -100,7 +101,17 @@
maintainer-clean: distclean
rm -f TAGS
-TAGS:
- ../lib-src/etags $(srcdir)/*.[ch]
+
+ETAGS = ../lib-src/etags
+
+## FIXME? Does etags need to use absolute filenames?
+## See comments in lisp/Makefile.in, src/Makefile.in.
+ctagsfiles= *.[ch]
+
+TAGS: $(srcdir)/$(ctagsfiles)
+ "$(ETAGS)" "$(abs_srcdir)"/$(ctagsfiles)
tags: TAGS
.PHONY: tags
+
+
+### Makefile.in ends here
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2013-11-02 13:14:55 +0000
+++ b/src/ChangeLog 2013-11-02 19:18:50 +0000
@@ -1,3 +1,14 @@
+2013-11-02 Glenn Morris <address@hidden>
+
+ * Makefile.in (abs_srcdir): New, set by configure.
+ (maintainer-clean): Remove pointless echo. That should be in the
+ top-level Makefile, if anywhere. Delete TAGS-LISP.
+ (extraclean): No s/ and m/ directories for some time.
+ (TAGS): Remove no-longer-defined S_FILE.
+ Pass absolute filenames to etags once more.
+ (TAGS-LISP, $(lwlibdir)/TAGS): Correctly pass ETAGS to sub-makes.
+ ($(lwlibdir)/TAGS): Remove useless subshell, check cd return value.
+
2013-11-02 Jan Djärv <address@hidden>
* xfaces.c (check_lface_attrs, realize_default_face): Add
=== modified file 'src/Makefile.in'
--- a/src/Makefile.in 2013-10-24 04:05:54 +0000
+++ b/src/Makefile.in 2013-11-02 19:18:50 +0000
@@ -28,6 +28,7 @@
# Here are the things that we expect ../configure to edit.
# We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
srcdir = @srcdir@
+abs_srcdir = @abs_srcdir@
# MinGW CPPFLAGS may use this.
address@hidden@
ntsource = $(srcdir)/../nt
@@ -580,38 +581,44 @@
if test -f "$(srcdir)/.gdbinit"; then rm -f ./.gdbinit.save; \
else mv ./.gdbinit.save ./.gdbinit; fi; \
fi
-## This is used in making a distribution.
-## Do not use it on development directories!
+
distclean: bootstrap-clean
rm -f Makefile
+
maintainer-clean: distclean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- rm -f TAGS
+ rm -f TAGS TAGS-LISP
versionclean:
-rm -f emacs$(EXEEXT) emacs-*.*.*$(EXEEXT) ../etc/DOC*
extraclean: distclean
- -rm -f *~ \#* m/?*~ s/?*~
-
-## Arrange to make a tags table TAGS-LISP for ../lisp,
-## plus TAGS for the C files, which includes ../lisp/TAGS by reference.
+ -rm -f *~ \#*
+
+
+ETAGS = ../lib-src/etags
ctagsfiles1 = [xyzXYZ]*.[hc]
ctagsfiles2 = [a-wA-W]*.[hc]
ctagsfiles3 = [a-zA-Z]*.m
-TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE)
- ../lib-src/etags --include=TAGS-LISP --include=$(lwlibdir)/TAGS \
+## FIXME? Do we really need to use absolute filenames here?
+
+## This does not need to depend on ../lisp and ../lwlib TAGS files,
+## because etags "--include" only includes a pointer to the file,
+## rather than the file contents.
+TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
$(srcdir)/$(ctagsfiles3)
+ "$(ETAGS)" --include=TAGS-LISP --include=$(lwlibdir)/TAGS \
--regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \
- $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) \
+ "$(abs_srcdir)"/$(ctagsfiles1) "$(abs_srcdir)"/$(ctagsfiles2) \
--regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \
- $(srcdir)/$(ctagsfiles3)
+ "$(abs_srcdir)"/$(ctagsfiles3)
+
+## Arrange to make tags tables for ../lisp and ../lwlib,
+## which the above TAGS file for the C files includes by reference.
frc:
TAGS-LISP: frc
- $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags
+ $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS="$(ETAGS)"
$(lwlibdir)/TAGS:
- (cd $(lwlibdir); $(MAKE) -f $(lwlibdir)/Makefile tags
ETAGS=../lib-src/etags)
+ cd $(lwlibdir) && $(MAKE) TAGS ETAGS="$(ETAGS)"
tags: TAGS TAGS-LISP $(lwlibdir)/TAGS
.PHONY: tags
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r114908: Small Makefile cleanup mainly related to tags file generation,
Glenn Morris <=