(automake-1.16.info)Tags


Next: Suffixes Up: Miscellaneous
Enter node , (file) or (file)node

18.1 Interfacing to ‘etags’
===========================

Automake 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’ rules will be generated for the directory.  All files
listed using the ‘_SOURCES’, ‘_HEADERS’, and ‘_LISP’ primaries will be
used to generate tags.  Note that generated source files that are not
distributed must be declared in variables like ‘nodist_noinst_HEADERS’
or ‘nodist_PROG_SOURCES’ or they will be ignored.

   A ‘tags’ rule will be output at the topmost directory of a
multi-directory package.  When run from this topmost directory, ‘make
tags’ will generate a ‘TAGS’ file that includes by reference all ‘TAGS’
files from subdirectories.

   The ‘tags’ rule will also be generated if the variable ‘ETAGS_ARGS’
is defined.  This variable is intended for use in directories that
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 file names to ‘ETAGS_ARGS’, you will probably also want to
define ‘TAGS_DEPENDENCIES’.  The contents of this variable are added
directly to the dependencies for the ‘tags’ rule.

   Automake also generates a ‘ctags’ rule that 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’ rule that will run ‘mkid’ on the
source.  This is only supported on a directory-by-directory basis.

   Similarly, the ‘cscope’ rule will create a list of all the source
files in the tree and run ‘cscope’ to build an inverted index database.
The variable ‘CSCOPE’ is the name of the program to invoke (by default
‘cscope’); ‘CSCOPEFLAGS’ and ‘CSCOPE_ARGS’ can be used by the user to
pass additional flags and file names respectively, while
‘AM_CSCOPEFLAGS’ can be used by the ‘Makefile.am’.  Note that,
currently, the Automake-provided ‘cscope’ support, when used in a VPATH
build, might not work well with non-GNU make implementations (especially
with make implementations performing *note VPATH rewrites:
(autoconf)Automatic Rule Rewriting.).

   Finally, Automake also emits rules to support the GNU Global Tags
program (https://www.gnu.org/software/global/).  The ‘GTAGS’ rule runs
Global Tags and puts the result in the top build directory.  The
variable ‘GTAGS_ARGS’ holds arguments that are passed to ‘gtags’.


automatically generated by info2www version 1.2.2.9