From: Masatake YAMATO <jet@gyve.org>
To: linux-kernel@vger.kernel.org
Subject: Adding symbols in Kconfig and defconfig to TAGS
Date: Thu, 22 Jun 2006 12:21:20 +0900 (JST) [thread overview]
Message-ID: <20060622.122120.261356707.yamato@redhat.com> (raw)
I'm using TAGS generated from "make TAGS" to read the kernel source code.
When I met a ifdef block
#ifdef CONFIG_FOO
...
#endif
in the soruce code I would like to know the meaning CONFIG_FOO
to decide whether I should read inside the ifdef block
or not. meaning CONFIG_FOO is well documented in Kconfig.
So it is nice if I can jump to CONFIG_FOO entry in Kconfig
from "#ifdef CONFIG_FOO" with the tag jump.
Here is the patch to add symbols in Kconfig and defconfig to TAGS
in "make TAGS" operation.
Signed-off-by: Masatake YAMATO <jet@gyve.org>
diff --git a/Makefile b/Makefile
index 1700d3f..c2e177e 100644
--- a/Makefile
+++ b/Makefile
@@ -1181,25 +1181,35 @@ endif
ALLSOURCE_ARCHS := $(ARCH)
-define all-sources
- ( find $(__srctree) $(RCS_FIND_IGNORE) \
+define find-sources
+ ( find $(__srctree) $(RCS_FIND_IGNORE) \
\( -name include -o -name arch \) -prune -o \
- -name '*.[chS]' -print; \
+ -name $1 -print; \
for ARCH in $(ALLSOURCE_ARCHS) ; do \
find $(__srctree)arch/$${ARCH} $(RCS_FIND_IGNORE) \
- -name '*.[chS]' -print; \
+ -name $1 -print; \
done ; \
find $(__srctree)security/selinux/include $(RCS_FIND_IGNORE) \
- -name '*.[chS]' -print; \
+ -name $1 -print; \
find $(__srctree)include $(RCS_FIND_IGNORE) \
\( -name config -o -name 'asm-*' \) -prune \
- -o -name '*.[chS]' -print; \
+ -o -name $1 -print; \
for ARCH in $(ALLINCLUDE_ARCHS) ; do \
find $(__srctree)include/asm-$${ARCH} $(RCS_FIND_IGNORE) \
- -name '*.[chS]' -print; \
+ -name $1 -print; \
done ; \
find $(__srctree)include/asm-generic $(RCS_FIND_IGNORE) \
- -name '*.[chS]' -print )
+ -name $1 -print )
+endef
+
+define all-sources
+ $(call find-sources,'*.[chS]')
+endef
+define all-kconfigs
+ $(call find-sources,'Kconfig*')
+endef
+define all-defconfigs
+ $(call find-sources,'defconfig')
endef
quiet_cmd_cscope-file = FILELST cscope.files
@@ -1219,7 +1229,11 @@ define cmd_TAGS
echo "-I __initdata,__exitdata,__acquires,__releases \
-I EXPORT_SYMBOL,EXPORT_SYMBOL_GPL \
--extra=+f --c-kinds=+px"`; \
- $(all-sources) | xargs etags $$ETAGSF -a
+ $(all-sources) | xargs etags $$ETAGSF -a; \
+ if test "x$$ETAGSF" = x; then \
+ $(all-kconfigs) | xargs etags -a --regex='/^config[ \t]+\([a-zA-Z0-9_]+\)/\1/'; \
+ $(all-defconfigs) | xargs etags -a --regex='/^#?[ \t]?\(CONFIG_[a-zA-Z0-9_]+\)/\1/'; \
+ fi
endef
TAGS: FORCE
next reply other threads:[~2006-06-22 3:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-22 3:21 Masatake YAMATO [this message]
2006-06-24 21:52 ` Sam Ravnborg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060622.122120.261356707.yamato@redhat.com \
--to=jet@gyve.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®