summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJianbin Kang <kjbmail@gmail.com>2011-01-14 13:07:05 +0100
committerMichal Marek <mmarek@suse.cz>2011-01-15 00:48:16 +0100
commitf4ed1009fcea8502d1191ef3e435e9d83c286b80 (patch)
tree072b7f35d76880978b842b12eae1b9b7d4984a6a
parentsetlocalversion: update mercurial tag parsing (diff)
downloadlinux-f4ed1009fcea8502d1191ef3e435e9d83c286b80.tar.xz
linux-f4ed1009fcea8502d1191ef3e435e9d83c286b80.zip
kbuild: add GNU GLOBAL tags generation
GNU GLOBAL (http://www.gnu.org/software/global/) is a source code tagging system It is really cheap to support it in kbuild system. Signed-off-by: Jianbin Kang <kjbmail@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
-rw-r--r--Makefile7
-rwxr-xr-xscripts/tags.sh9
2 files changed, 13 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 6619720f50dd..d4a9d5b81a14 100644
--- a/Makefile
+++ b/Makefile
@@ -420,7 +420,7 @@ endif
# of make so .config is not included in this case either (for *config).
no-dot-config-targets := clean mrproper distclean \
- cscope TAGS tags help %docs check% coccicheck \
+ cscope gtags TAGS tags help %docs check% coccicheck \
include/linux/version.h headers_% \
kernelversion %src-pkg
@@ -1134,7 +1134,7 @@ CLEAN_FILES += vmlinux System.map \
MRPROPER_DIRS += include/config usr/include include/generated
MRPROPER_FILES += .config .config.old .version .old_version \
include/linux/version.h \
- Module.symvers tags TAGS cscope*
+ Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
# clean - Delete most, but leave enough to build external modules
#
@@ -1221,6 +1221,7 @@ help:
@echo ' modules_prepare - Set up for building external modules'
@echo ' tags/TAGS - Generate tags file for editors'
@echo ' cscope - Generate cscope index'
+ @echo ' gtags - Generate GNU GLOBAL index'
@echo ' kernelrelease - Output the release version string'
@echo ' kernelversion - Output the version stored in Makefile'
@echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
@@ -1379,7 +1380,7 @@ clean: $(clean-dirs)
quiet_cmd_tags = GEN $@
cmd_tags = $(CONFIG_SHELL) $(srctree)/scripts/tags.sh $@
-tags TAGS cscope: FORCE
+tags TAGS cscope gtags: FORCE
$(call cmd,tags)
# Scripts to check various things for consistency
diff --git a/scripts/tags.sh b/scripts/tags.sh
index e091db312ddb..5d17c71a8161 100755
--- a/scripts/tags.sh
+++ b/scripts/tags.sh
@@ -114,6 +114,11 @@ docscope()
cscope -b -f cscope.out
}
+dogtags()
+{
+ all_sources | gtags -f -
+}
+
exuberant()
{
all_sources | xargs $1 -a \
@@ -185,6 +190,10 @@ case "$1" in
docscope
;;
+ "gtags")
+ dogtags
+ ;;
+
"tags")
rm -f tags
xtags ctags