aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2016-01-06 18:25:47 -0500
committerGlenn Morris2016-01-06 18:25:47 -0500
commitc6d3c60f283a9c2071b4db185773a00e53e20a61 (patch)
tree07222d80f5c1a4fd24cd9ea07e9911ff4bf009e6 /src
parentefa8087d4b681a6bf673ec6f2d8220bf98705e72 (diff)
downloademacs-c6d3c60f283a9c2071b4db185773a00e53e20a61.tar.gz
emacs-c6d3c60f283a9c2071b4db185773a00e53e20a61.zip
Build tweaks related to tags files.
* lib-src/Makefile.in (tagsfiles): New variable. (TAGS): Also depend on the source files. Use our own etags program. * lisp/Makefile.in (ETAGS): Add EXEEXT. (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4): Remove. (tagsfiles): New, replacing lisptagsfiles1 etc. Remove irrelevant source files here rather than in the TAGS rule. (${ETAGS}): New rule. (TAGS): Also depend on the etags executable. * lwlib/Makefile.in (EXEEXT): New, set by configure. (ETAGS): Add EXEEXT. (${ETAGS}): New rule. (ctagsfiles): Use "wildcard". (TAGS): Also depend on the etags executable. * nt/Makefile.in (ETAGS, tagsfiles): New variables. (${ETAGS}): New rule. (TAGS): Fix dependencies. * oldXMenu/Makefile.in (EXEEXT): New, set by configure. (ETAGS): New variable, replacing $TAGS. Use our own etags program. Remove "-t" argument. (${ETAGS}): New rule. (tagsfiles): New variable. (TAGS): New rule, with proper dependencies. * src/Makefile.in (ETAGS): Add EXEEXT. Add a build rule. (ctagsfiles1, ctagsfiles2): Use "wildcard". (ctagsfiles3): Remove. (TAGS): Depend on etags. (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant directories decide if updates are needed.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index f96ebb2aeeb..97505b98687 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -649,32 +649,34 @@ extraclean: distclean
649 -rm -f *~ \#* 649 -rm -f *~ \#*
650 650
651 651
652ETAGS = ../lib-src/etags 652ETAGS = ../lib-src/etags${EXEEXT}
653 653
654ctagsfiles1 = [xyzXYZ]*.[hc] 654${ETAGS}: FORCE
655ctagsfiles2 = [a-wA-W]*.[hc] 655 ${MAKE} -C ../lib-src $(notdir $@)
656ctagsfiles3 = [a-zA-Z]*.m 656
657ctagsfiles1 = $(wildcard ${srcdir}/*.[hc])
658ctagsfiles2 = $(wildcard ${srcdir}/*.m)
657 659
658## FIXME? In out-of-tree builds, should TAGS be generated in srcdir? 660## FIXME? In out-of-tree builds, should TAGS be generated in srcdir?
659 661
660## This does not need to depend on ../lisp and ../lwlib TAGS files, 662## This does not need to depend on ../lisp and ../lwlib TAGS files,
661## because etags "--include" only includes a pointer to the file, 663## because etags "--include" only includes a pointer to the file,
662## rather than the file contents. 664## rather than the file contents.
663TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(srcdir)/$(ctagsfiles3) 665TAGS: ${ETAGS} $(ctagsfiles1) $(ctagsfiles2)
664 "$(ETAGS)" --include=../lisp/TAGS --include=$(lwlibdir)/TAGS \ 666 ${ETAGS} --include=../lisp/TAGS --include=$(lwlibdir)/TAGS \
665 --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/\1/' \ 667 --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/\1/' \
666 --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"[^"]+",[ ]\([A-Za-z0-9_]+\)/\1/' \ 668 --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"[^"]+",[ ]\([A-Za-z0-9_]+\)/\1/' \
667 $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) \ 669 $(ctagsfiles1) \
668 --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/\1/' \ 670 --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/\1/' \
669 --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"[^"]+",[ ]\([A-Za-z0-9_]+\)/\1/' \ 671 --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"[^"]+",[ ]\([A-Za-z0-9_]+\)/\1/' \
670 $(srcdir)/$(ctagsfiles3) 672 $(ctagsfiles2)
671 673
672## Arrange to make tags tables for ../lisp and ../lwlib, 674## Arrange to make tags tables for ../lisp and ../lwlib,
673## which the above TAGS file for the C files includes by reference. 675## which the above TAGS file for the C files includes by reference.
674../lisp/TAGS: 676../lisp/TAGS: FORCE
675 $(MAKE) -C ../lisp TAGS ETAGS="$(ETAGS)" 677 $(MAKE) -C ../lisp TAGS ETAGS="$(ETAGS)"
676 678
677$(lwlibdir)/TAGS: 679$(lwlibdir)/TAGS: FORCE
678 $(MAKE) -C $(lwlibdir) TAGS ETAGS="$(ETAGS)" 680 $(MAKE) -C $(lwlibdir) TAGS ETAGS="$(ETAGS)"
679 681
680tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS 682tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS