etagsAutomake will generate rules to generate TAGS files for use with
GNU Emacs under some circumstances.
If any C, C++ or Fortran 77 source code or headers are present, then
tags and TAGS targets will be generated for the directory.
At the topmost directory of a multi-directory package, a tags
target file will be generated which, when run, will generate a
TAGS file that includes by reference all TAGS files from
subdirectories.
The tags target will also be generated if the variable
ETAGS_ARGS is defined. This variable is intended for use in
directories which contain taggable source that etags does not
understand. The user can use the ETAGSFLAGS to pass additional
flags to etags; AM_ETAGSFLAGS is also available for use in
Makefile.am.
Here is how Automake generates tags for its source, and for nodes in its Texinfo file:
ETAGS_ARGS = automake.in --lang=none \
--regex='/^@node[ \t]+\([^,]+\)/\1/' automake.texi
If you add filenames to ETAGS_ARGS, you will probably also
want to set TAGS_DEPENDENCIES. The contents of this variable
are added directly to the dependencies for the tags target.
Automake also generates a ctags target which can be used to
build vi-style tags files. The variable CTAGS
is the name of the program to invoke (by default ctags);
CTAGSFLAGS can be used by the user to pass additional flags,
and AM_CTAGSFLAGS can be used by the Makefile.am.
Automake will also generate an ID target which will run
mkid on the source. This is only supported on a
directory-by-directory basis.
Automake also supports the GNU Global Tags program. The GTAGS target runs Global Tags
automatically and puts the result in the top build directory. The
variable GTAGS_ARGS holds arguments which are passed to
gtags.