当前位置:  开发笔记 > 编程语言 > 正文

Linux内核makefile cscope目标

如何解决《Linux内核makefilecscope目标》经验,为你挑选了0个好方法。

当我通过发出make cscopeI get database file以及具有相对路径的文件列表来生成Linux内核cscope数据库时.这对我来说是一个问题,因为稍后当我在vim编辑器中从任何目录附加外部内核的数据库但内核我可以轻松搜索特定符号但是我无法打开包含该符号的文件.

我写了下一个bash脚本

#!/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

我使用绝对路径收集我需要的所有文件(x86/x86_64架构),然后手动成功构建cscope数据库.但我认为必须有一些更简单的方法来实现这一目标.也许一些Makefile的目标就像make cscope_abs或者make cscope_ext我还没有找到.

有什么建议?

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有