diff options
author | Joonsoo Kim <js1304@gmail.com> | 2012-12-11 00:11:46 +0900 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2012-12-11 14:25:42 +0100 |
commit | 923e02ecf3f8db19d52176723fefa0ffe6e9a3cd (patch) | |
tree | 6a7e0b2c5147bff5a1a6ac845651a7c601e582fe | |
parent | 596585090a6d7f0a62b4e5864ad8cedf1af964d1 (diff) | |
download | op-kernel-dev-923e02ecf3f8db19d52176723fefa0ffe6e9a3cd.zip op-kernel-dev-923e02ecf3f8db19d52176723fefa0ffe6e9a3cd.tar.gz |
scripts/tags.sh: Support compiled source
We usually have interst in compiled files only,
because they are strongly related to individual's work.
Current tags.sh can't select compiled files, so support it.
We can use this functionality like below.
"make cscope O=. SRCARCH=xxxx COMPILED_SOURCE=compiled"
It must be executed after building the kernel.
Signed-off-by: Joonsoo Kim <js1304@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
-rwxr-xr-x | scripts/tags.sh | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/scripts/tags.sh b/scripts/tags.sh index 8fb18d1..08f06c0 100755 --- a/scripts/tags.sh +++ b/scripts/tags.sh @@ -96,6 +96,32 @@ all_sources() find_other_sources '*.[chS]' } +all_compiled_sources() +{ + for i in $(all_sources); do + case "$i" in + *.[cS]) + j=${i/\.[cS]/\.o} + if [ -e $j ]; then + echo $i + fi + ;; + *) + echo $i + ;; + esac + done +} + +all_target_sources() +{ + if [ -n "$COMPILED_SOURCE" ]; then + all_compiled_sources + else + all_sources + fi +} + all_kconfigs() { for arch in $ALLSOURCE_ARCHS; do @@ -111,18 +137,18 @@ all_defconfigs() docscope() { - (echo \-k; echo \-q; all_sources) > cscope.files + (echo \-k; echo \-q; all_target_sources) > cscope.files cscope -b -f cscope.out } dogtags() { - all_sources | gtags -i -f - + all_target_sources | gtags -i -f - } exuberant() { - all_sources | xargs $1 -a \ + all_target_sources | xargs $1 -a \ -I __initdata,__exitdata,__acquires,__releases \ -I __read_mostly,____cacheline_aligned \ -I ____cacheline_aligned_in_smp \ @@ -174,7 +200,7 @@ exuberant() emacs() { - all_sources | xargs $1 -a \ + all_target_sources | xargs $1 -a \ --regex='/^(ENTRY|_GLOBAL)(\([^)]*\)).*/\2/' \ --regex='/^SYSCALL_DEFINE[0-9]?(\([^,)]*\).*/sys_\1/' \ --regex='/^TRACE_EVENT(\([^,)]*\).*/trace_\1/' \ @@ -221,11 +247,10 @@ xtags() elif $1 --version 2>&1 | grep -iq emacs; then emacs $1 else - all_sources | xargs $1 -a + all_target_sources | xargs $1 -a fi } - # Support um (which uses SUBARCH) if [ "${ARCH}" = "um" ]; then if [ "$SUBARCH" = "i386" ]; then |