diff --git a/src/tools/make_ctags b/src/tools/make_ctags
index aa1fb33a03076330fad69dd4e60795ed009dcc6a..0999f12590dafa7da7093b074d10c8a18d6a01cc 100755
--- a/src/tools/make_ctags
+++ b/src/tools/make_ctags
@@ -1,8 +1,14 @@
 #!/bin/sh
 trap "rm -f /tmp/$$" 0 1 2 3 15
 rm -f ./tags
+
+if [ "`ctags --version 2>&1 | grep Exuberant`" != "Exuberant" ]
+then	FLAGS="-dt"
+else	FLAGS="--c-types=+dfmstuv"
+fi
+
 find `pwd`/ \( -name _deadcode -a -prune \) -o \
-	-type f -name '*.[chyl]' -print|xargs ctags -d -t -a -f tags
+	-type f -name '*.[chyl]' -print|xargs ctags "$FLAGS" -a -f tags
 
 sort tags >/tmp/$$ && mv /tmp/$$ tags