aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJianbin Kang <kjbmail@gmail.com>2011-01-14 07:07:05 -0500
committerMichal Marek <mmarek@suse.cz>2011-01-14 18:48:16 -0500
commitf4ed1009fcea8502d1191ef3e435e9d83c286b80 (patch)
tree072b7f35d76880978b842b12eae1b9b7d4984a6a
parent38b3439d84f4a310bd29e3dbc21dffe9119ef157 (diff)
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
420# of make so .config is not included in this case either (for *config). 420# of make so .config is not included in this case either (for *config).
421 421
422no-dot-config-targets := clean mrproper distclean \ 422no-dot-config-targets := clean mrproper distclean \
423 cscope TAGS tags help %docs check% coccicheck \ 423 cscope gtags TAGS tags help %docs check% coccicheck \
424 include/linux/version.h headers_% \ 424 include/linux/version.h headers_% \
425 kernelversion %src-pkg 425 kernelversion %src-pkg
426 426
@@ -1134,7 +1134,7 @@ CLEAN_FILES += vmlinux System.map \
1134MRPROPER_DIRS += include/config usr/include include/generated 1134MRPROPER_DIRS += include/config usr/include include/generated
1135MRPROPER_FILES += .config .config.old .version .old_version \ 1135MRPROPER_FILES += .config .config.old .version .old_version \
1136 include/linux/version.h \ 1136 include/linux/version.h \
1137 Module.symvers tags TAGS cscope* 1137 Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
1138 1138
1139# clean - Delete most, but leave enough to build external modules 1139# clean - Delete most, but leave enough to build external modules
1140# 1140#
@@ -1221,6 +1221,7 @@ help:
1221 @echo ' modules_prepare - Set up for building external modules' 1221 @echo ' modules_prepare - Set up for building external modules'
1222 @echo ' tags/TAGS - Generate tags file for editors' 1222 @echo ' tags/TAGS - Generate tags file for editors'
1223 @echo ' cscope - Generate cscope index' 1223 @echo ' cscope - Generate cscope index'
1224 @echo ' gtags - Generate GNU GLOBAL index'
1224 @echo ' kernelrelease - Output the release version string' 1225 @echo ' kernelrelease - Output the release version string'
1225 @echo ' kernelversion - Output the version stored in Makefile' 1226 @echo ' kernelversion - Output the version stored in Makefile'
1226 @echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \ 1227 @echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
@@ -1379,7 +1380,7 @@ clean: $(clean-dirs)
1379quiet_cmd_tags = GEN $@ 1380quiet_cmd_tags = GEN $@
1380 cmd_tags = $(CONFIG_SHELL) $(srctree)/scripts/tags.sh $@ 1381 cmd_tags = $(CONFIG_SHELL) $(srctree)/scripts/tags.sh $@
1381 1382
1382tags TAGS cscope: FORCE 1383tags TAGS cscope gtags: FORCE
1383 $(call cmd,tags) 1384 $(call cmd,tags)
1384 1385
1385# Scripts to check various things for consistency 1386# 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()
114 cscope -b -f cscope.out 114 cscope -b -f cscope.out
115} 115}
116 116
117dogtags()
118{
119 all_sources | gtags -f -
120}
121
117exuberant() 122exuberant()
118{ 123{
119 all_sources | xargs $1 -a \ 124 all_sources | xargs $1 -a \
@@ -185,6 +190,10 @@ case "$1" in
185 docscope 190 docscope
186 ;; 191 ;;
187 192
193 "gtags")
194 dogtags
195 ;;
196
188 "tags") 197 "tags")
189 rm -f tags 198 rm -f tags
190 xtags ctags 199 xtags ctags