Skip to content

Commit

Permalink
kbuild: add GNU GLOBAL tags generation
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
  • Loading branch information
kangjianbin authored and michal42 committed Jan 14, 2011
1 parent 38b3439 commit f4ed100
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
7 changes: 4 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
#
Expand Down Expand Up @@ -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'; \
Expand Down Expand Up @@ -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
Expand Down
9 changes: 9 additions & 0 deletions scripts/tags.sh
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,11 @@ docscope()
cscope -b -f cscope.out
}

dogtags()
{
all_sources | gtags -f -
}

exuberant()
{
all_sources | xargs $1 -a \
Expand Down Expand Up @@ -185,6 +190,10 @@ case "$1" in
docscope
;;

"gtags")
dogtags
;;

"tags")
rm -f tags
xtags ctags
Expand Down

0 comments on commit f4ed100

Please sign in to comment.