From 73077a9af5b634a43742c3fdcecae8a851eb51be Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 1 Oct 2010 13:45:16 +0200 Subject: [PATCH] Support TAGS targets in the w32 build. nt/makefile.w32-in (frc, TAGS, TAGS-gmake, TAGS-nmake): New targets. emacs-src.tags: New file. src/makefile.w32-in (TAGS, frc, TAGS-LISP, ../nt/TAGS, tags) (TAGS-gmake, TAGS-nmake, TAGS-LISP-gmake, TAGS-LISP-nmake) (nt-TAGS-gmake, nt-TAGS-nmake): New targets. lisp/makefile.w32-in (DEST, TAGS, TAGS-LISP, TAGS-nmake) (TAGS-LISP-nmake, TAGS-gmake, TAGS-LISP-gmake, TAGS-SH) (TAGS-LISP-SH, TAGS-CMD, TAGS-LISP-CMD): New targets. lib-src/makefile.w32-in (tags, TAGS): New targets. --- lib-src/ChangeLog | 4 ++++ lib-src/makefile.w32-in | 6 ++++++ lisp/ChangeLog | 6 ++++++ lisp/makefile.w32-in | 45 ++++++++++++++++++++++++++++++++++++----- nt/ChangeLog | 2 ++ nt/emacs-src.tags | 6 ++++++ nt/makefile.w32-in | 13 ++++++++++++ src/ChangeLog | 6 ++++++ src/makefile.w32-in | 45 +++++++++++++++++++++++++++++++++++++++++ 9 files changed, 128 insertions(+), 5 deletions(-) create mode 100644 nt/emacs-src.tags diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 33036c92ffd..3d8a0222296 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,7 @@ +2010-10-01 Eli Zaretskii + + * makefile.w32-in (tags, TAGS): New targets. + 2010-09-30 Juanma Barranquero * emacsclient.c (get_server_config): Don't read Emacs pid from diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in index 552dd1349fc..6d881dbc174 100644 --- a/lib-src/makefile.w32-in +++ b/lib-src/makefile.w32-in @@ -378,6 +378,12 @@ cleanall: clean getopt.h: getopt_.h $(CP) $(ALL_DEPS) $@ +### TAGS ### + +tags: TAGS +TAGS: $(BLD)/etags.exe *.c *.h + $(BLD)/etags.exe *.c *.h + ### DEPENDENCIES ### EMACS_ROOT = .. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d145ebcf0c7..fb364f9651e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2010-10-01 Eli Zaretskii + + * makefile.w32-in (DEST, TAGS, TAGS-LISP, TAGS-nmake) + (TAGS-LISP-nmake, TAGS-gmake, TAGS-LISP-gmake, TAGS-SH) + (TAGS-LISP-SH, TAGS-CMD, TAGS-LISP-CMD): New targets. + 2010-10-01 Glenn Morris * obsolete/sc.el: Remove file. diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index 43328a9e46a..cd76ffa290a 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in @@ -50,7 +50,11 @@ LC_ALL = C lisptagsfiles1 = $(lisp)/*.el lisptagsfiles2 = $(lisp)/*/*.el -ETAGS = "../lib-src/$(BLD)/etags" +lisptagsfiles3 = $(lisp)/*/*/*.el +lisptagsfiles4 = $(lisp)/*/*/*/*.el +ETAGS = "../lib-src/$(BLD)/etags.exe" +## $(DEST) is overridden by ../src/makefile.w32-in. +DEST=$(lisp) # Automatically generated autoload files, apart from lisp/loaddefs.el. LOADDEFS = $(lisp)/calendar/cal-loaddefs.el \ @@ -244,11 +248,42 @@ cvs-update: bzr-update update-authors: $(emacs) -l authors -f batch-update-authors $(srcdir)/etc/AUTHORS $(srcdir) -TAGS: $(lisptagsfiles1) $(lisptagsfiles2) - $(ETAGS) $(lisptagsfiles1) $(lisptagsfiles2) +TAGS: TAGS-$(MAKETYPE) -TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) - $(ETAGS) -o TAGS-LISP $(lisptagsfiles1) $(lisptagsfiles2) +TAGS-LISP: TAGS-LISP-$(MAKETYPE) + +TAGS-nmake: + echo This target is not supported with NMake + exit -1 + +TAGS-LISP-nmake: + echo This target is not supported with NMake + exit -1 + +TAGS-gmake: TAGS-$(SHELLTYPE) + +TAGS-LISP-gmake: TAGS-LISP-$(SHELLTYPE) + +TAGS-SH: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) + - $(DEL) TAGS + for dir in . $(WINS_UPDATES); do \ + $(ETAGS) -a $(lisp)/$$dir/*.el; \ + done + +TAGS-LISP-SH: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) + - $(DEL) $(DEST)/TAGS-LISP + for dir in . $(WINS_UPDATES); do \ + $(ETAGS) -a -o $(DEST)/TAGS-LISP $(lisp)/$$dir/*.el; \ + done + +TAGS-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) + - $(DEL) TAGS + for %%d in (. $(WINS_UPDATES)) do $(ETAGS) -a $(lisp)/%%d/*.el + +TAGS-LISP-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) + - $(DEL) $(DEST)/TAGS-LISP + for %%d in (. $(WINS_UPDATES)) do \ + $(ETAGS) -a -o $(DEST)/TAGS-LISP $(lisp)/%%d/*.el .SUFFIXES: .elc .el diff --git a/nt/ChangeLog b/nt/ChangeLog index 25c274c4f9a..71097e32181 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,5 +1,7 @@ 2010-10-01 Eli Zaretskii + * makefile.w32-in (frc, TAGS, TAGS-gmake, TAGS-nmake): New targets. + * gmake.defs: Add a comment with a single quote to fix fontification. (Bug#7102) diff --git a/nt/emacs-src.tags b/nt/emacs-src.tags new file mode 100644 index 00000000000..8c187133454 --- /dev/null +++ b/nt/emacs-src.tags @@ -0,0 +1,6 @@ + This file defines the regular expressions for etags to look for + in the src directory. It is used by the w32 build to work around + the annoyances of quoting command-line arguments with various + w32 shell. + +/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/ diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index b0f5edb28a2..f328cd6a9f9 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in @@ -417,3 +417,16 @@ maintainer-clean-other-dirs-gmake: realclean: cleanall - $(DEL_TREE) ../bin + +TAGS: TAGS-$(MAKETYPE) + +frc: +TAGS-gmake: frc + ../lib-src/$(BLD)/etags $(CURDIR)/*.c + $(MAKE) $(MFLAGS) -C ../src TAGS TAGS-LISP + $(MAKE) $(MFLAGS) -C ../lib-src TAGS + +TAGS-nmake: + echo This target is not supported with NMake + +.PHONY: frc diff --git a/src/ChangeLog b/src/ChangeLog index 05d7d4336ae..1d337527eff 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2010-10-01 Eli Zaretskii + + * makefile.w32-in (TAGS, frc, TAGS-LISP, ../nt/TAGS, tags) + (TAGS-gmake, TAGS-nmake, TAGS-LISP-gmake, TAGS-LISP-nmake) + (nt-TAGS-gmake, nt-TAGS-nmake): New targets. + 2010-09-30 Dan Nicolaescu * xml.c (parse_string): Use const. diff --git a/src/makefile.w32-in b/src/makefile.w32-in index 752a3c211b3..daa6ed52198 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in @@ -293,6 +293,51 @@ cleanall: clean - $(DEL_TREE) oo - $(DEL_TREE) oo-spd +## Arrange to make a tags table TAGS-LISP for ../lisp, +## plus TAGS for the C files, which includes ../lisp/TAGS by reference. +## +## This works only with GNU Make. + +TAGS: $(OBJ0) $(OBJ1) $(WIN32OBJ) + $(MAKE) $(MFLAGS) TAGS-$(MAKETYPE) + +TAGS-LISP: $(OBJ0) $(OBJ1) $(WIN32OBJ) + $(MAKE) $(MFLAGS) TAGS-LISP-$(MAKETYPE) + +TAGS-gmake: + ../lib-src/$(BLD)/etags.exe --include=TAGS-LISP --include=../nt/TAGS \ + --regex=@../nt/emacs-src.tags \ + $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ0)) + ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \ + $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ1)) + ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \ + $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(WIN32OBJ)) $(CURDIR)/*.h + +TAGS-nmake: + echo This target is not supported with NMake + exit -1 + +frc: +TAGS-LISP-gmake: frc + $(MAKE) $(MFLAGS) -C ../lisp TAGS-LISP DEST=../src + +TAGS-LISP-nmake: + echo This target is not supported with NMake + exit -1 + +../nt/TAGS: frc + $(MAKE) $(MFLAGS) nt-TAGS-$(MAKETYPE) + +nt-TAGS-gmake: + $(MAKE) $(MFLAGS) -C ../nt TAGS + +nt-TAGS-nmake: + echo This target is not supported with NMake + exit -1 + +tags: TAGS TAGS-LISP ../nt/TAGS +.PHONY: tags + ### DEPENDENCIES ### EMACS_ROOT = .. -- 2.39.5