]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - scripts/tags.sh
deb-pkg: Fix building outside of source tree (O=...).
[mv-sheeva.git] / scripts / tags.sh
index 9f459536f289a8aaa2ae8c3457a91897312afd26..8509bb51293530fae488f60594199031cd16bf07 100755 (executable)
@@ -17,16 +17,29 @@ ignore="( -name SCCS -o -name BitKeeper -o -name .svn -o \
           -name .git )                                   \
           -prune -o"
 
-# Do not use full path is we do not use O=.. builds
+# Do not use full path if we do not use O=.. builds
+# Use make O=. {tags|cscope}
+# to force full paths for a non-O= build
 if [ "${KBUILD_SRC}" = "" ]; then
        tree=
 else
        tree=${srctree}/
 fi
 
+# Find all available archs
+find_all_archs()
+{
+       ALLSOURCE_ARCHS=""
+       for arch in `ls ${tree}arch`; do
+               ALLSOURCE_ARCHS="${ALLSOURCE_ARCHS} "${arch##\/}
+       done
+}
+
 # Detect if ALLSOURCE_ARCHS is set. If not, we assume SRCARCH
 if [ "${ALLSOURCE_ARCHS}" = "" ]; then
        ALLSOURCE_ARCHS=${SRCARCH}
+elif [ "${ALLSOURCE_ARCHS}" = "all" ]; then
+       find_all_archs
 fi
 
 # find sources in arch/$ARCH
@@ -97,13 +110,7 @@ all_defconfigs()
 
 docscope()
 {
-       # always use absolute paths for cscope, as recommended by cscope
-       # upstream
-       case "$tree" in
-               /*) ;;
-               *) tree=$PWD/$tree ;;
-       esac
-       (cd /; echo \-k; echo \-q; all_sources) > cscope.files
+       (echo \-k; echo \-q; all_sources) > cscope.files
        cscope -b -f cscope.out
 }