gpt4 book ai didi

linux内核使标签变量

转载 作者:太空狗 更新时间:2023-10-29 12:23:12 24 4
gpt4 key购买 nike

Linux 内核源代码可以使用make tags 来获取编辑器的标签。在 scripts/tags.sh ,第 7 行和第 8 行说“使用以下环境变量:ARCHSUBARCHSRCARCHsrctreesrc, obj"我想问一下这些变量是什么意思?

我已经阅读了this article , 但它只提到了两个变量,SRCARCHSUBARCH

最佳答案

你应该使用的变量

下一个变量可以传递给tags.sh(实际上你应该把它们传递给make tags cscope命令,Makefile会把它们传递给tags.sh 给你)。

  1. ARCH:索引哪个架构。您只需在内核源代码树中执行 ls -l arch/ 即可查看所有架构列表。

  2. SUBARCH:这个变量的含义取决于你的架构:

    • 如果ARCH=armSUBARCH将用于确定arch/arm/mach-*arch/arm/plat-* 目录,这些目录将被索引
    • 如果 ARCH=um,请使用 SUBARCH 指定您实际想要在用户模式 ​​Linux 中使用的架构(例如 SUBARCH=armSUBARCH=x86)
    • 对于其余架构,您可以省略此变量
  3. ALLSOURCE_ARCHS:使用它来索引多个架构。像 ALLSOURCE_ARCHS="x86 mips arm"ALLSOURCE_ARCHS="all"。如果您只想索引一种架构,请忽略此变量并改用 ARCH

  4. COMPILED_SOURCE:如果您只想索引实际编译的源文件,请将此变量设置为 1。如果要索引所有源文件,请省略设置此变量。

  5. O=(这实际上是 Makefile 参数):使用绝对路径(如果您想在内核目录之外加载创建的 cscope/ctags 索引文件,例如用于开发 out- of-tree 内核模块)。如果您想使用相对路径(即您将只在内核目录中进行开发),只需省略该参数即可。

你不需要接触的变量

  1. SRCARCH:从 Makefile 中的 ARCH 变量设置,然后传递给脚本。您可能不需要弄乱它,只需正确设置 ARCH 变量

  2. srctree:内核源码树路径。如果您通过 make cscope tags 使用此脚本,此变量将自动从 Makefile 传递。

  3. srcobj 变量:scripts/tags.sh 不再使用它们。它被替换为使用 KBUILD_SRC 变量,当您向它提供 O=... 参数时,它会自动从 Makefile 提供。

用法

基本上,我建议仅通过 make 调用使用 scripts/tags.sh。示例:

$ make O=. ARCH=arm SUBARCH=omap2 COMPILED_SOURCE=1 cscope tags

$ make ARCH=x86 cscope tags

关于linux内核使标签变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50791012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com