aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/Makefile.in24
-rw-r--r--lwlib/ChangeLog4
-rw-r--r--lwlib/Makefile.in9
-rw-r--r--src/ChangeLog7
-rw-r--r--src/Makefile.in24
6 files changed, 43 insertions, 31 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 8bdf2d3a83..4d794052fd 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,11 @@
2013-11-02 Glenn Morris <[email protected]>
+ Use relative filenames in TAGS files.
+ * Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3)
+ (lisptagsfiles4, TAGS): Use relative file names.
+ (TAGS-LISP): Remove.
+ (maintainer-clean): No more TAGS-LISP file.
+
* Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3)
(lisptagsfiles4): Use absolute filenames again.
(TAGS, TAGS-LISP): Not everything needs to run in one line.
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index be7a413b15..1142165e9f 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -214,25 +214,25 @@ update-authors:
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
+lisptagsfiles1 = $(srcdir)/*.el
+lisptagsfiles2 = $(srcdir)/*/*.el
+lisptagsfiles3 = $(srcdir)/*/*/*.el
+lisptagsfiles4 = $(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)
+## The POSIX way would be to use find in a similar way to compile-main.
+## But maybe this is not even necessary any more now that this uses
+## relative filenames.
+TAGS: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4)
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[^ ]*,,' | \
+ sed -e 's,$(srcdir)/[^ ]*loaddefs[^ ]*,,g' \
+ -e 's,$(srcdir)/ldefs-boot[^ ]*,,' \
+ -e 's,$(srcdir)/[^ ]*esh-groups.el[^ ]*,,' | \
xargs $(XARGS_LIMIT) "$(ETAGS)" -a -o $@
@@ -458,7 +458,7 @@ distclean:
-rm -f ./Makefile $(lisp)/loaddefs.el~
maintainer-clean: distclean bootstrap-clean
- rm -f TAGS TAGS-LISP
+ rm -f TAGS
.PHONY: check-declare
diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog
index 6d10fe551c..dadb13514e 100644
--- a/lwlib/ChangeLog
+++ b/lwlib/ChangeLog
@@ -1,5 +1,9 @@
2013-11-02 Glenn Morris <[email protected]>
+ Use relative filenames in TAGS files.
+ * Makefile.in (abs_srcdir): Remove it again.
+ (ctagsfiles, TAGS): Use relative filenames.
+
* Makefile.in (abs_srcdir): New, set by configure.
(ETAGS, ctagsfiles): New variables.
(TAGS): Use ETAGS, ctagsfiles. Use absolute filenames again.
diff --git a/lwlib/Makefile.in b/lwlib/Makefile.in
index 550983c175..8bb23bb11b 100644
--- a/lwlib/Makefile.in
+++ b/lwlib/Makefile.in
@@ -23,7 +23,6 @@
# and set up to be configured by ../configure.
srcdir=@srcdir@
-abs_srcdir=@abs_srcdir@
# MinGW CPPFLAGS may use this.
abs_top_srcdir=@abs_top_srcdir@
VPATH=@srcdir@
@@ -104,12 +103,10 @@ maintainer-clean: distclean
ETAGS = ../lib-src/etags
-## FIXME? Does etags need to use absolute filenames?
-## See comments in lisp/Makefile.in, src/Makefile.in.
-ctagsfiles= *.[ch]
+ctagsfiles= $(srcdir)/*.[ch]
-TAGS: $(srcdir)/$(ctagsfiles)
- "$(ETAGS)" "$(abs_srcdir)"/$(ctagsfiles)
+TAGS: $(ctagsfiles)
+ "$(ETAGS)" $(ctagsfiles)
tags: TAGS
.PHONY: tags
diff --git a/src/ChangeLog b/src/ChangeLog
index d0193f355a..997d98344c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,12 @@
2013-11-02 Glenn Morris <[email protected]>
+ Use relative filenames in TAGS files.
+ * Makefile.in (abs_srcdir): Remove it again.
+ (.PHONY): Remove frc.
+ (maintainer-clean): No more TAGS-LISP file.
+ (TAGS): Pass relative file names to etags.
+ (../lisp/TAGS): Rename from TAGS-LISP. Work in ../lisp.
+
* Makefile.in (abs_srcdir): New, set by configure.
(lispdir): Remove.
(maintainer-clean): Remove pointless echo. That should be in the
diff --git a/src/Makefile.in b/src/Makefile.in
index e3f4fb60a4..41e0c7d382 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
### @configure_input@
-# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2013 Free Software
-# Foundation, Inc.
+# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2013
+# Free Software Foundation, Inc.
# This file is part of GNU Emacs.
@@ -28,7 +28,6 @@ SHELL = @SHELL@
# 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.
abs_top_srcdir=@abs_top_srcdir@
ntsource = $(srcdir)/../nt
@@ -557,7 +556,7 @@ ns-app: emacs$(EXEEXT)
cd ../nextstep && $(MAKE) $(MFLAGS) all
.PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean
-.PHONY: versionclean extraclean frc
+.PHONY: versionclean extraclean
mostlyclean:
rm -f temacs$(EXEEXT) core *.core \#* *.o libXMenu11.a liblw.a
@@ -585,7 +584,7 @@ distclean: bootstrap-clean
rm -f Makefile
maintainer-clean: distclean
- rm -f TAGS TAGS-LISP
+ rm -f TAGS
versionclean:
-rm -f emacs$(EXEEXT) emacs-*.*.*$(EXEEXT) ../etc/DOC*
extraclean: distclean
@@ -598,28 +597,27 @@ ctagsfiles1 = [xyzXYZ]*.[hc]
ctagsfiles2 = [a-wA-W]*.[hc]
ctagsfiles3 = [a-zA-Z]*.m
-## FIXME? Do we really need to use absolute filenames here?
+## FIXME? In out-of-tree builds, should TAGS be generated in srcdir?
## 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 \
+ "$(ETAGS)" --include=../lisp/TAGS --include=$(lwlibdir)/TAGS \
--regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \
- "$(abs_srcdir)"/$(ctagsfiles1) "$(abs_srcdir)"/$(ctagsfiles2) \
+ $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) \
--regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \
- "$(abs_srcdir)"/$(ctagsfiles3)
+ $(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 ../lisp/Makefile TAGS-LISP ETAGS="$(ETAGS)"
+../lisp/TAGS:
+ cd ../lisp && $(MAKE) TAGS ETAGS="$(ETAGS)"
$(lwlibdir)/TAGS:
cd $(lwlibdir) && $(MAKE) TAGS ETAGS="$(ETAGS)"
-tags: TAGS TAGS-LISP $(lwlibdir)/TAGS
+tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS
.PHONY: tags