summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2010-10-01 13:45:16 +0200
committerEli Zaretskii <eliz@gnu.org>2010-10-01 13:45:16 +0200
commit73077a9af5b634a43742c3fdcecae8a851eb51be (patch)
treec62d3a7c20cbd132eac4642e7872a93c73b845f9
parent967f57dcc822719de3a0e197957943f7504baef1 (diff)
downloademacs-73077a9af5b634a43742c3fdcecae8a851eb51be.tar.gz
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.
-rw-r--r--lib-src/ChangeLog4
-rw-r--r--lib-src/makefile.w32-in6
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/makefile.w32-in45
-rw-r--r--nt/ChangeLog2
-rw-r--r--nt/emacs-src.tags6
-rw-r--r--nt/makefile.w32-in13
-rw-r--r--src/ChangeLog6
-rw-r--r--src/makefile.w32-in45
9 files changed, 128 insertions, 5 deletions
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 <eliz@gnu.org>
+
+ * makefile.w32-in (tags, TAGS): New targets.
+
2010-09-30 Juanma Barranquero <lekktu@gmail.com>
* 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 <eliz@gnu.org>
+
+ * 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 <rgm@gnu.org>
* 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 <eliz@gnu.org>
+ * 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 <eliz@gnu.org>
+
+ * 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 <dann@ics.uci.edu>
* 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 = ..