$(emacs) -L "$(top_srcdir)/admin" -l authors \
-f batch-update-authors "$(top_srcdir)/etc/AUTHORS" "$(top_srcdir)"
-ETAGS = ../lib-src/etags
+ update-gnus-news:
+ $(emacs) -L "$(top_srcdir)/doc/misc" -l gnus-news -f batch-gnus-news \
+ "$(top_srcdir)/doc/misc/gnus-news.texi" \
+ "$(top_srcdir)/etc/GNUS-NEWS"
+
+FORCE:
+.PHONY: FORCE
+
+tagsfiles = $(shell find ${srcdir} -name '*.el')
+tagsfiles := $(filter-out ${srcdir}/%loaddefs.el,${tagsfiles})
+tagsfiles := $(filter-out ${srcdir}/ldefs-boot.el,${tagsfiles})
+tagsfiles := $(filter-out ${srcdir}/eshell/esh-groups.el,${tagsfiles})
+
+ETAGS = ../lib-src/etags${EXEEXT}
-lisptagsfiles1 = $(srcdir)/*.el
-lisptagsfiles2 = $(srcdir)/*/*.el
-lisptagsfiles3 = $(srcdir)/*/*/*.el
-lisptagsfiles4 = $(srcdir)/*/*/*/*.el
+${ETAGS}: FORCE
+ ${MAKE} -C ../lib-src $(notdir $@)
-## The ls | sed | xargs is to stop the command line getting too long
+## The use of xargs is to stop the command line getting too long
## on MS Windows, when the MSYS Bash passes it to a MinGW compiled
## etags. It might be better to use find in a similar way to
## compile-main. But maybe this is not even necessary any more now