Quando si genera il database cscope del kernel Linux emettendo make cscope
, ottengo il file di database con un elenco di file con il percorso relativo. Questo è un problema per me, perché più tardi, quando io attribuisco quel database del kernel esterno in editor di vim da qualunque directory ma kernel di posso facilmente cercare specifico simbolo MA posso file non aprire quel simbolo è contenuto in.kernel Linux makescile cscope target
ho scritto la prossima bash script di
#!/bin/bash
SNAME="$0"
SNAME=${SNAME##*/}
function usage()
{
echo Generate Linux kernel cscope database
echo "Usage: $SNAME [PATH]"
echo -n "You must provide this script with an ABSOLUTE path of your "
echo "kernel's root directory"
}
if [[ -z "$1" ]]; then
usage
exit -1
fi
KDIR="$1"
echo -n "Collecting a list of files... "
if find "$KDIR" -path "${KDIR}/arch/*" ! -path "${KDIR}/arch/x86*" -prune -o \
-path "${KDIR}/include/asm-*" \
! -path "${KDIR}/include/asm-generic*" \
! -path "${KDIR}/include/asm-x86*" -prune -o \
-path "${KDIR}/tmp*" -prune -o \
-path "${KDIR}/Documentation*" -prune -o \
-path "${KDIR}/scripts*" -prune -o \
-name "*.[chxsS]" -print > cscope.files; then
echo done
else
echo failed
fi
echo -n "Building cscope database... "
cscope -k -qb && echo done || echo failed
che raccoglie tutti i file di cui ho bisogno (x86/x86_64 architettura) utilizzando assoluta percorso e poi con successo a costruire database di cscope manualmente. Ma penso che debba essere un modo più semplice per realizzare questo. Forse alcuni target di Makefile come make cscope_abs
o make cscope_ext
che non ho ancora trovato.
Qualche suggerimento?
+1 non sapeva che ha un'opzione Cscope. –
Una cosa che mi viene in mente è: guarda nel Makefile come viene chiamato cscope, se esiste una variabile puoi quindi specificare alcune opzioni per cscope nella riga di comando. – Chnossos