diff options
| author | Glenn Morris | 2013-11-02 12:18:50 -0700 |
|---|---|---|
| committer | Glenn Morris | 2013-11-02 12:18:50 -0700 |
| commit | b0b9e5923267012e5c4f3523ee601c229ea85232 (patch) | |
| tree | eae7642a57eb26e46185d176f8c65033a21a0f8b | |
| parent | 5246583bdbbf7f00daae1d94abfd17b28dcbddac (diff) | |
| download | emacs-b0b9e5923267012e5c4f3523ee601c229ea85232.tar.gz emacs-b0b9e5923267012e5c4f3523ee601c229ea85232.zip | |
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.
| -rw-r--r-- | lisp/ChangeLog | 8 | ||||
| -rw-r--r-- | lisp/Makefile.in | 33 | ||||
| -rw-r--r-- | lwlib/ChangeLog | 6 | ||||
| -rw-r--r-- | lwlib/Makefile.in | 15 | ||||
| -rw-r--r-- | src/ChangeLog | 11 | ||||
| -rw-r--r-- | src/Makefile.in | 35 |
6 files changed, 83 insertions, 25 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index fba59e1c8b8..8bdf2d3a83e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2013-11-02 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3) | ||
| 4 | (lisptagsfiles4): Use absolute filenames again. | ||
| 5 | (TAGS, TAGS-LISP): Not everything needs to run in one line. | ||
| 6 | Remove all *loaddefs files, not just the first. Remove esh-groups. | ||
| 7 | (maintainer-clean): Delete TAGS, TAGS-LISP. | ||
| 8 | |||
| 1 | 2013-11-02 Bozhidar Batsov <bozhidar@batsov.com> | 9 | 2013-11-02 Bozhidar Batsov <bozhidar@batsov.com> |
| 2 | 10 | ||
| 3 | * emacs-lisp/package.el (package-version-join): Recognize | 11 | * emacs-lisp/package.el (package-version-join): Recognize |
diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 537603a3018..be7a413b15b 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in | |||
| @@ -49,12 +49,6 @@ BYTE_COMPILE_EXTRA_FLAGS = | |||
| 49 | # BYTE_COMPILE_EXTRA_FLAGS = --eval '(setq byte-compile-warnings (quote (not unresolved)))' | 49 | # BYTE_COMPILE_EXTRA_FLAGS = --eval '(setq byte-compile-warnings (quote (not unresolved)))' |
| 50 | # The example above is just for developers, it should not be used by default. | 50 | # The example above is just for developers, it should not be used by default. |
| 51 | 51 | ||
| 52 | lisptagsfiles1 = $(lisp)/*.el | ||
| 53 | lisptagsfiles2 = $(lisp)/*/*.el | ||
| 54 | lisptagsfiles3 = $(lisp)/*/*/*.el | ||
| 55 | lisptagsfiles4 = $(lisp)/*/*/*/*.el | ||
| 56 | ETAGS = ../lib-src/etags | ||
| 57 | |||
| 58 | # Automatically generated autoload files, apart from lisp/loaddefs.el. | 52 | # Automatically generated autoload files, apart from lisp/loaddefs.el. |
| 59 | # Note this includes only those files that need special rules to | 53 | # Note this includes only those files that need special rules to |
| 60 | # build; ie it does not need to include things created via | 54 | # build; ie it does not need to include things created via |
| @@ -217,10 +211,30 @@ bzr-update: compile finder-data custom-deps | |||
| 217 | update-authors: | 211 | update-authors: |
| 218 | $(emacs) -l authors -f batch-update-authors $(top_srcdir)/etc/AUTHORS $(top_srcdir) | 212 | $(emacs) -l authors -f batch-update-authors $(top_srcdir)/etc/AUTHORS $(top_srcdir) |
| 219 | 213 | ||
| 214 | |||
| 215 | ETAGS = ../lib-src/etags | ||
| 216 | |||
| 217 | ## NB We use absolute filenames because ../src/Makefile calls this via | ||
| 218 | ## make -f ../lisp/Makefile. | ||
| 219 | ## FIXME? Can etags work ok with relative filenames? | ||
| 220 | lisptagsfiles1 = $(abs_srcdir)/*.el | ||
| 221 | lisptagsfiles2 = $(abs_srcdir)/*/*.el | ||
| 222 | lisptagsfiles3 = $(abs_srcdir)/*/*/*.el | ||
| 223 | lisptagsfiles4 = $(abs_srcdir)/*/*/*/*.el | ||
| 224 | |||
| 225 | ## Apparently the echo | sed | xargs is to stop the command line | ||
| 226 | ## getting too long on MS Windows. It will make no difference on | ||
| 227 | ## POSIX systems, where the shell does the globbing right away, before | ||
| 228 | ## passing the expanded arguments to echo. | ||
| 220 | TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | 229 | TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) |
| 221 | rm -f $@; touch $@; \ | 230 | rm -f $@ |
| 222 | echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,," | \ | 231 | touch $@ |
| 223 | xargs $(XARGS_LIMIT) ${ETAGS} -a -o $@ | 232 | echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | \ |
| 233 | sed -e 's,$(abs_srcdir)/[^ ]*loaddefs[^ ]*,,g' \ | ||
| 234 | -e 's,$(abs_srcdir)/ldefs-boot[^ ]*,,' \ | ||
| 235 | -e 's,$(abs_srcdir)/[^ ]*esh-groups.el[^ ]*,,' | \ | ||
| 236 | xargs $(XARGS_LIMIT) "$(ETAGS)" -a -o $@ | ||
| 237 | |||
| 224 | 238 | ||
| 225 | # The src/Makefile.in has its own set of dependencies and when they decide | 239 | # The src/Makefile.in has its own set of dependencies and when they decide |
| 226 | # that one Lisp file needs to be re-compiled, we had better recompile it as | 240 | # that one Lisp file needs to be re-compiled, we had better recompile it as |
| @@ -444,6 +458,7 @@ distclean: | |||
| 444 | -rm -f ./Makefile $(lisp)/loaddefs.el~ | 458 | -rm -f ./Makefile $(lisp)/loaddefs.el~ |
| 445 | 459 | ||
| 446 | maintainer-clean: distclean bootstrap-clean | 460 | maintainer-clean: distclean bootstrap-clean |
| 461 | rm -f TAGS TAGS-LISP | ||
| 447 | 462 | ||
| 448 | .PHONY: check-declare | 463 | .PHONY: check-declare |
| 449 | 464 | ||
diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 963b5baed1c..6d10fe551cb 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2013-11-02 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * Makefile.in (abs_srcdir): New, set by configure. | ||
| 4 | (ETAGS, ctagsfiles): New variables. | ||
| 5 | (TAGS): Use ETAGS, ctagsfiles. Use absolute filenames again. | ||
| 6 | |||
| 1 | 2013-10-24 Glenn Morris <rgm@gnu.org> | 7 | 2013-10-24 Glenn Morris <rgm@gnu.org> |
| 2 | 8 | ||
| 3 | * Makefile.in (abs_top_srcdir): New, set by configure. | 9 | * Makefile.in (abs_top_srcdir): New, set by configure. |
diff --git a/lwlib/Makefile.in b/lwlib/Makefile.in index b7f1673aca9..550983c1757 100644 --- a/lwlib/Makefile.in +++ b/lwlib/Makefile.in | |||
| @@ -23,6 +23,7 @@ | |||
| 23 | # and set up to be configured by ../configure. | 23 | # and set up to be configured by ../configure. |
| 24 | 24 | ||
| 25 | srcdir=@srcdir@ | 25 | srcdir=@srcdir@ |
| 26 | abs_srcdir=@abs_srcdir@ | ||
| 26 | # MinGW CPPFLAGS may use this. | 27 | # MinGW CPPFLAGS may use this. |
| 27 | abs_top_srcdir=@abs_top_srcdir@ | 28 | abs_top_srcdir=@abs_top_srcdir@ |
| 28 | VPATH=@srcdir@ | 29 | VPATH=@srcdir@ |
| @@ -100,7 +101,17 @@ distclean: clean | |||
| 100 | maintainer-clean: distclean | 101 | maintainer-clean: distclean |
| 101 | rm -f TAGS | 102 | rm -f TAGS |
| 102 | 103 | ||
| 103 | TAGS: | 104 | |
| 104 | ../lib-src/etags $(srcdir)/*.[ch] | 105 | ETAGS = ../lib-src/etags |
| 106 | |||
| 107 | ## FIXME? Does etags need to use absolute filenames? | ||
| 108 | ## See comments in lisp/Makefile.in, src/Makefile.in. | ||
| 109 | ctagsfiles= *.[ch] | ||
| 110 | |||
| 111 | TAGS: $(srcdir)/$(ctagsfiles) | ||
| 112 | "$(ETAGS)" "$(abs_srcdir)"/$(ctagsfiles) | ||
| 105 | tags: TAGS | 113 | tags: TAGS |
| 106 | .PHONY: tags | 114 | .PHONY: tags |
| 115 | |||
| 116 | |||
| 117 | ### Makefile.in ends here | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 1cea67b8689..99d19cd68c7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2013-11-02 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * Makefile.in (abs_srcdir): New, set by configure. | ||
| 4 | (maintainer-clean): Remove pointless echo. That should be in the | ||
| 5 | top-level Makefile, if anywhere. Delete TAGS-LISP. | ||
| 6 | (extraclean): No s/ and m/ directories for some time. | ||
| 7 | (TAGS): Remove no-longer-defined S_FILE. | ||
| 8 | Pass absolute filenames to etags once more. | ||
| 9 | (TAGS-LISP, $(lwlibdir)/TAGS): Correctly pass ETAGS to sub-makes. | ||
| 10 | ($(lwlibdir)/TAGS): Remove useless subshell, check cd return value. | ||
| 11 | |||
| 1 | 2013-11-02 Jan Djärv <jan.h.d@swipnet.se> | 12 | 2013-11-02 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 13 | ||
| 3 | * xfaces.c (check_lface_attrs, realize_default_face): Add | 14 | * xfaces.c (check_lface_attrs, realize_default_face): Add |
diff --git a/src/Makefile.in b/src/Makefile.in index 21d92463f20..c61ff2ddd46 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -28,6 +28,7 @@ SHELL = @SHELL@ | |||
| 28 | # Here are the things that we expect ../configure to edit. | 28 | # Here are the things that we expect ../configure to edit. |
| 29 | # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. | 29 | # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. |
| 30 | srcdir = @srcdir@ | 30 | srcdir = @srcdir@ |
| 31 | abs_srcdir = @abs_srcdir@ | ||
| 31 | # MinGW CPPFLAGS may use this. | 32 | # MinGW CPPFLAGS may use this. |
| 32 | abs_top_srcdir=@abs_top_srcdir@ | 33 | abs_top_srcdir=@abs_top_srcdir@ |
| 33 | ntsource = $(srcdir)/../nt | 34 | ntsource = $(srcdir)/../nt |
| @@ -580,38 +581,44 @@ bootstrap-clean: clean | |||
| 580 | if test -f "$(srcdir)/.gdbinit"; then rm -f ./.gdbinit.save; \ | 581 | if test -f "$(srcdir)/.gdbinit"; then rm -f ./.gdbinit.save; \ |
| 581 | else mv ./.gdbinit.save ./.gdbinit; fi; \ | 582 | else mv ./.gdbinit.save ./.gdbinit; fi; \ |
| 582 | fi | 583 | fi |
| 583 | ## This is used in making a distribution. | 584 | |
| 584 | ## Do not use it on development directories! | ||
| 585 | distclean: bootstrap-clean | 585 | distclean: bootstrap-clean |
| 586 | rm -f Makefile | 586 | rm -f Makefile |
| 587 | |||
| 587 | maintainer-clean: distclean | 588 | maintainer-clean: distclean |
| 588 | @echo "This command is intended for maintainers to use;" | 589 | rm -f TAGS TAGS-LISP |
| 589 | @echo "it deletes files that may require special tools to rebuild." | ||
| 590 | rm -f TAGS | ||
| 591 | versionclean: | 590 | versionclean: |
| 592 | -rm -f emacs$(EXEEXT) emacs-*.*.*$(EXEEXT) ../etc/DOC* | 591 | -rm -f emacs$(EXEEXT) emacs-*.*.*$(EXEEXT) ../etc/DOC* |
| 593 | extraclean: distclean | 592 | extraclean: distclean |
| 594 | -rm -f *~ \#* m/?*~ s/?*~ | 593 | -rm -f *~ \#* |
| 594 | |||
| 595 | 595 | ||
| 596 | ## Arrange to make a tags table TAGS-LISP for ../lisp, | 596 | ETAGS = ../lib-src/etags |
| 597 | ## plus TAGS for the C files, which includes ../lisp/TAGS by reference. | ||
| 598 | 597 | ||
| 599 | ctagsfiles1 = [xyzXYZ]*.[hc] | 598 | ctagsfiles1 = [xyzXYZ]*.[hc] |
| 600 | ctagsfiles2 = [a-wA-W]*.[hc] | 599 | ctagsfiles2 = [a-wA-W]*.[hc] |
| 601 | ctagsfiles3 = [a-zA-Z]*.m | 600 | ctagsfiles3 = [a-zA-Z]*.m |
| 602 | 601 | ||
| 603 | TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) | 602 | ## FIXME? Do we really need to use absolute filenames here? |
| 604 | ../lib-src/etags --include=TAGS-LISP --include=$(lwlibdir)/TAGS \ | 603 | |
| 604 | ## This does not need to depend on ../lisp and ../lwlib TAGS files, | ||
| 605 | ## because etags "--include" only includes a pointer to the file, | ||
| 606 | ## rather than the file contents. | ||
| 607 | TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(srcdir)/$(ctagsfiles3) | ||
| 608 | "$(ETAGS)" --include=TAGS-LISP --include=$(lwlibdir)/TAGS \ | ||
| 605 | --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ | 609 | --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ |
| 606 | $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) \ | 610 | "$(abs_srcdir)"/$(ctagsfiles1) "$(abs_srcdir)"/$(ctagsfiles2) \ |
| 607 | --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ | 611 | --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ |
| 608 | $(srcdir)/$(ctagsfiles3) | 612 | "$(abs_srcdir)"/$(ctagsfiles3) |
| 613 | |||
| 614 | ## Arrange to make tags tables for ../lisp and ../lwlib, | ||
| 615 | ## which the above TAGS file for the C files includes by reference. | ||
| 609 | frc: | 616 | frc: |
| 610 | TAGS-LISP: frc | 617 | TAGS-LISP: frc |
| 611 | $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags | 618 | $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS="$(ETAGS)" |
| 612 | 619 | ||
| 613 | $(lwlibdir)/TAGS: | 620 | $(lwlibdir)/TAGS: |
| 614 | (cd $(lwlibdir); $(MAKE) -f $(lwlibdir)/Makefile tags ETAGS=../lib-src/etags) | 621 | cd $(lwlibdir) && $(MAKE) TAGS ETAGS="$(ETAGS)" |
| 615 | 622 | ||
| 616 | tags: TAGS TAGS-LISP $(lwlibdir)/TAGS | 623 | tags: TAGS TAGS-LISP $(lwlibdir)/TAGS |
| 617 | .PHONY: tags | 624 | .PHONY: tags |