|
@@ -32,6 +32,13 @@ else
|
|
|
ignore="$ignore ( -path ${tree}tools ) -prune -o"
|
|
|
fi
|
|
|
|
|
|
+# gtags(1) refuses to index any file outside of its current working dir.
|
|
|
+# If gtags indexing is requested and the build output directory is not
|
|
|
+# the kernel source tree, index all files in absolute-path form.
|
|
|
+if [[ "$1" == "gtags" && -n "${tree}" ]]; then
|
|
|
+ tree=$(realpath "$tree")/
|
|
|
+fi
|
|
|
+
|
|
|
# Detect if ALLSOURCE_ARCHS is set. If not, we assume SRCARCH
|
|
|
if [ "${ALLSOURCE_ARCHS}" = "" ]; then
|
|
|
ALLSOURCE_ARCHS=${SRCARCH}
|
|
@@ -131,7 +138,7 @@ docscope()
|
|
|
|
|
|
dogtags()
|
|
|
{
|
|
|
- all_target_sources | gtags -i -f -
|
|
|
+ all_target_sources | gtags -i -C "${tree:-.}" -f - "$PWD"
|
|
|
}
|
|
|
|
|
|
# Basic regular expressions with an optional /kind-spec/ for ctags and
|