]> code.delx.au - gnu-emacs/commitdiff
Use relative filenames in TAGS files.
authorGlenn Morris <rgm@gnu.org>
Sat, 2 Nov 2013 19:41:33 +0000 (12:41 -0700)
committerGlenn Morris <rgm@gnu.org>
Sat, 2 Nov 2013 19:41:33 +0000 (12:41 -0700)
* src/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.

* lisp/Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3)
(lisptagsfiles4, TAGS): Use relative file names.
(TAGS-LISP): Remove.
(maintainer-clean): No more TAGS-LISP file.

* lwlib/Makefile.in (abs_srcdir): Remove it again.
(ctagsfiles, TAGS): Use relative filenames.

* .bzrignore: Remove TAGS-LISP.

lisp/ChangeLog
lisp/Makefile.in
lwlib/ChangeLog
lwlib/Makefile.in
src/ChangeLog
src/Makefile.in

index 8bdf2d3a83e4ba4dcd613b49bd4132737b5616b9..4d794052fd7b2bad9fd456e4da9e7d2b49d8c628 100644 (file)
@@ -1,5 +1,11 @@
 2013-11-02  Glenn Morris  <rgm@gnu.org>
 
+       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.
index be7a413b15b9c2c6f084ac6e9e0700261c7ad5e1..1142165e9f33d5323c65fccae6b521f455a7fc48 100644 (file)
@@ -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
 
index 6d10fe551cb119ea24a1404bf9ca2d6025187be1..dadb13514e08725ec6086562746fba0f5af2219b 100644 (file)
@@ -1,5 +1,9 @@
 2013-11-02  Glenn Morris  <rgm@gnu.org>
 
+       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.
index 550983c17578ffa13b7b793fd2d7edf3f50190d9..8bb23bb11bdfbb79d9c1a7c213fcca9993870a46 100644 (file)
@@ -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
 
index d0193f355a270e833fec2ae4f4fcd590870ca34f..997d98344c599bbee46848cc9539ede8290b825b 100644 (file)
@@ -1,5 +1,12 @@
 2013-11-02  Glenn Morris  <rgm@gnu.org>
 
+       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
index e3f4fb60a403c254dace91b7b1c9bfa8bf609611..41e0c7d382ade249c2f5cde5bf7442ffd19bd106 100644 (file)
@@ -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