aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2013-11-02 12:18:50 -0700
committerGlenn Morris2013-11-02 12:18:50 -0700
commitb0b9e5923267012e5c4f3523ee601c229ea85232 (patch)
treeeae7642a57eb26e46185d176f8c65033a21a0f8b
parent5246583bdbbf7f00daae1d94abfd17b28dcbddac (diff)
downloademacs-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/ChangeLog8
-rw-r--r--lisp/Makefile.in33
-rw-r--r--lwlib/ChangeLog6
-rw-r--r--lwlib/Makefile.in15
-rw-r--r--src/ChangeLog11
-rw-r--r--src/Makefile.in35
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 @@
12013-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
12013-11-02 Bozhidar Batsov <bozhidar@batsov.com> 92013-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
52lisptagsfiles1 = $(lisp)/*.el
53lisptagsfiles2 = $(lisp)/*/*.el
54lisptagsfiles3 = $(lisp)/*/*/*.el
55lisptagsfiles4 = $(lisp)/*/*/*/*.el
56ETAGS = ../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
217update-authors: 211update-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
215ETAGS = ../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?
220lisptagsfiles1 = $(abs_srcdir)/*.el
221lisptagsfiles2 = $(abs_srcdir)/*/*.el
222lisptagsfiles3 = $(abs_srcdir)/*/*/*.el
223lisptagsfiles4 = $(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.
220TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) 229TAGS 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
446maintainer-clean: distclean bootstrap-clean 460maintainer-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 @@
12013-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
12013-10-24 Glenn Morris <rgm@gnu.org> 72013-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
25srcdir=@srcdir@ 25srcdir=@srcdir@
26abs_srcdir=@abs_srcdir@
26# MinGW CPPFLAGS may use this. 27# MinGW CPPFLAGS may use this.
27abs_top_srcdir=@abs_top_srcdir@ 28abs_top_srcdir=@abs_top_srcdir@
28VPATH=@srcdir@ 29VPATH=@srcdir@
@@ -100,7 +101,17 @@ distclean: clean
100maintainer-clean: distclean 101maintainer-clean: distclean
101 rm -f TAGS 102 rm -f TAGS
102 103
103TAGS: 104
104 ../lib-src/etags $(srcdir)/*.[ch] 105ETAGS = ../lib-src/etags
106
107## FIXME? Does etags need to use absolute filenames?
108## See comments in lisp/Makefile.in, src/Makefile.in.
109ctagsfiles= *.[ch]
110
111TAGS: $(srcdir)/$(ctagsfiles)
112 "$(ETAGS)" "$(abs_srcdir)"/$(ctagsfiles)
105tags: TAGS 113tags: 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 @@
12013-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
12013-11-02 Jan Djärv <jan.h.d@swipnet.se> 122013-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.
30srcdir = @srcdir@ 30srcdir = @srcdir@
31abs_srcdir = @abs_srcdir@
31# MinGW CPPFLAGS may use this. 32# MinGW CPPFLAGS may use this.
32abs_top_srcdir=@abs_top_srcdir@ 33abs_top_srcdir=@abs_top_srcdir@
33ntsource = $(srcdir)/../nt 34ntsource = $(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!
585distclean: bootstrap-clean 585distclean: bootstrap-clean
586 rm -f Makefile 586 rm -f Makefile
587
587maintainer-clean: distclean 588maintainer-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
591versionclean: 590versionclean:
592 -rm -f emacs$(EXEEXT) emacs-*.*.*$(EXEEXT) ../etc/DOC* 591 -rm -f emacs$(EXEEXT) emacs-*.*.*$(EXEEXT) ../etc/DOC*
593extraclean: distclean 592extraclean: distclean
594 -rm -f *~ \#* m/?*~ s/?*~ 593 -rm -f *~ \#*
594
595 595
596## Arrange to make a tags table TAGS-LISP for ../lisp, 596ETAGS = ../lib-src/etags
597## plus TAGS for the C files, which includes ../lisp/TAGS by reference.
598 597
599ctagsfiles1 = [xyzXYZ]*.[hc] 598ctagsfiles1 = [xyzXYZ]*.[hc]
600ctagsfiles2 = [a-wA-W]*.[hc] 599ctagsfiles2 = [a-wA-W]*.[hc]
601ctagsfiles3 = [a-zA-Z]*.m 600ctagsfiles3 = [a-zA-Z]*.m
602 601
603TAGS: $(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.
607TAGS: $(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.
609frc: 616frc:
610TAGS-LISP: frc 617TAGS-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
616tags: TAGS TAGS-LISP $(lwlibdir)/TAGS 623tags: TAGS TAGS-LISP $(lwlibdir)/TAGS
617.PHONY: tags 624.PHONY: tags