From: Eli Zaretskii Date: Fri, 1 Oct 2010 11:45:16 +0000 (+0200) Subject: Support TAGS targets in the w32 build. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~46^2~271 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/73077a9af5b634a43742c3fdcecae8a851eb51be 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. --- diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 33036c92ff..3d8a022229 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 552dd1349f..6d881dbc17 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 d145ebcf0c..fb364f9651 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 43328a9e46..cd76ffa290 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 25c274c4f9..71097e3218 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 0000000000..8c18713345 --- /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 b0f5edb28a..f328cd6a9f 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 05d7d4336a..1d337527ef 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 752a3c211b..daa6ed5219 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 = ..