3 # This file illustrates how to generate a useful TAGS file via etags
4 # for emacs. This should be invoked from the top source directory i.e.:
6 # and will create a TAGS file in the top source directory.
8 # This script falls under the Apache License.
9 # See http://www.apache.org/docs/LICENSE
11 # Once you have created ./TAGS in emacs you'll need to setup
12 # tag-table-alist with an entry to assure it finds the single ./TAGS
13 # file from the many source directories. Something along these lines:
14 # (setq tag-table-alist
15 # '(("/home/me/work/httpd-2.0/"
16 # . "/home/me/work/httpd-2.0/")
19 # This requires a special version of etags, i.e. the
20 # one called "Exuberant ctags" available at:
21 # http://fly.hiwaay.net/~darren/ctags/
22 # Once that is setup you'll need to point to the
25 etags=~/local/bin/etags
27 # Exuberant etags is necessary since it can ignore some defined symbols
28 # that obscure the function signatures.
30 ignore=AP_DECLARE,AP_DECLARE_NONSTD,__declspec
32 # Create an etags file at the root of the source
33 # tree, then create symbol links to it from each
34 # directory in the source tree. By passing etags
35 # absolute pathnames we get a tag file that is
36 # NOT portable when we move the directory tree.
38 find . -name '*.[ch]' -print | $etags -I "$ignore" -L -