scripts/tags.sh: collect compiled source precisely
authorJialu Xu <xujialu@vimux.org>
Fri, 7 Aug 2020 06:17:29 +0000 (23:17 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 7 Aug 2020 18:33:21 +0000 (11:33 -0700)
Parse compiled source from *.cmd but don't 'find' too many files that are
not related to compilation.

[xujialu@vimux.org: don't expand symlinks by add option -s for realpath]
Link: http://lkml.kernel.org/r/5efc5bfb.1c69fb81.41bf5.7131SMTPIN_ADDED_MISSING@mx.google.com
Signed-off-by: Jialu Xu <xujialu@vimux.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Joe Perches <joe@perches.com>
Link: http://lkml.kernel.org/r/5ee5d8e3.1c69fb81.9b804.47b2SMTPIN_ADDED_MISSING@mx.google.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
scripts/tags.sh

index 4e18ae5282a69d222523d3db7a774ab9a5857aca..32d3f53af10ba85a3f8d9a2c649d1c29a143f483 100755 (executable)
@@ -91,20 +91,10 @@ all_sources()
 
 all_compiled_sources()
 {
-       for i in $(all_sources); do
-               case "$i" in
-                       *.[cS])
-                               j=${i/\.[cS]/\.o}
-                               j="${j#$tree}"
-                               if [ -e $j ]; then
-                                       echo $i
-                               fi
-                               ;;
-                       *)
-                               echo $i
-                               ;;
-               esac
-       done
+       realpath -es $([ -z "$KBUILD_ABS_SRCTREE" ] && echo --relative-to=.) \
+               include/generated/autoconf.h $(find -name "*.cmd" -exec \
+               grep -Poh '(?(?=^source_.* \K).*|(?=^  \K\S).*(?= \\))' {} \+ |
+               awk '!a[$0]++') | sort -u
 }
 
 all_target_sources()