--- /dev/null
+#!/bin/sh
+trap "rm -f /tmp/$$" 0 1 2 3 15
+rm -f ./tags
+find `pwd`/ -type f -name '*.[chyl]' -print|xargs ctags -t -a -f tags
+sort tags >/tmp/$$ && mv /tmp/$$ tags
+
+find . -type d -print |while read DIR
+do
+ [ "$DIR" != "." ] && ln -f -s `pwd`/tags $DIR/tags
+done
--- /dev/null
+#!/bin/sh
+trap "rm -f /tmp/$$" 0 1 2 3 15
+rm -f ./TAGS
+find `pwd`/ -type f -name '*.[chyl]' -print | \
+ xargs etags --append --output=TAGS
+
+find . -type d -print | \
+while read DIR; do
+ [ "$DIR" != "." ] && ln -f -s `pwd`/TAGS $DIR
+done
--- /dev/null
+#!/bin/sh
+find `pwd`/ -type f -name '*.[chyl]' -print|sed 's;//;/;g' | mkid -S.gen=C -
+
+find . -type d -print |while read DIR
+do
+ [ "$DIR" != "." ] && ln -f -s `pwd`/ID $DIR/ID
+done