You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下编译Linux内核文档报错:Documentation/Kbuild是目录

解决Linux内核文档编译报错及kernel-doc工具使用指南

一、修复make xmldocs报错

你遇到的Documentation/Kbuild: Is a directory错误,大概率是以下两个原因之一,对应解决方法如下:

  1. 确保调用GNU Make而非BSD Make
    MacOS默认自带BSD版本的make,即便你安装了GNU make,直接敲make可能仍会调用系统默认版本。尝试改用GNU make的专属命令:
gmake xmldocs

若你的GNU make安装后命令仍是make(比如通过brew做了软链),可先验证版本:

make --version

输出包含GNU Make字样才是正确的版本。

  1. 检查Documentation/Kbuild的状态
    如果上述方法无效,先确认该路径的类型:
ls -ld Documentation/Kbuild

若显示为目录,说明仓库克隆时出现异常或误操作修改了文件属性。可以重新克隆仓库,或从Linux内核源码仓库中手动恢复Kbuild文件的规则内容。

二、scripts/kernel-doc工具的批量使用方法

kernel-doc用于提取内核代码中的结构化注释,若要批量处理所有相关文件,可结合find命令定位目标文件后传递给工具:

1. 单个文件的基础用法

生成XML格式的文档示例:

scripts/kernel-doc -xml path/to/your/kernel/file.c > output.xml

2. 批量处理指定目录下的文件

比如处理内核和驱动目录下的所有C文件:

find ./kernel ./drivers -name "*.c" -exec scripts/kernel-doc -xml {} \; > all_docs.xml

若需要分文件保存输出:

mkdir -p doc_output
find ./net ./fs -name "*.c" -exec sh -c 'scripts/kernel-doc -xml {} > doc_output/$(basename {}).xml' \;

可根据需要处理的内核子模块调整find命令中的路径(如./kernel、./drivers),避免处理无关文件。

内容的提问来源于stack exchange,提问作者user129393192

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 17:52:46