使用Clion 阅读/修改/注释 Linux 内核源码
https://www.cnblogs.com/rincloud/p/16157863.html
clion makefile 工程编译取消cmake
你想要在 CLion 中对 Makefile 工程取消 CMake 依赖、纯用 Makefile 编译,核心是让 CLion 跳过 CMake 配置流程,直接使用 Makefile 构建。以下是完整的配置步骤,亲测适配 Linux 内核这类纯 Makefile 项目:
步骤 1:关闭 CLion 的 CMake 自动配置
- 打开 CLion,进入项目后点击顶部菜单栏
File→Settings(快捷键Ctrl+,); - 找到
Build, Execution, Deployment→CMake; - 选中当前的 CMake 配置(如
Debug),点击-按钮删除所有 CMake 配置项; - 点击
Apply保存,此时 CLion 不会再尝试加载 CMake 相关配置。
步骤 2:配置 CLion 的 Makefile 构建规则
- 继续在
Settings中,进入Build, Execution, Deployment→Build Tools→Makefile; -
- Make path:选择系统的
make(如/usr/bin/make),如果是 Yocto 工具链的make,则指定工具链路径下的make(如/opt/poky/4.2.7/sysroots/x86_64-pokysdk-linux/usr/bin/make); - Build directory:填写你的 Makefile 工程根目录(如
/home/orbit15/nfsroot/linux-imx); - Arguments:填写 Makefile 的编译参数(适配你之前的内核编译场景):
plaintext
ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux- Image dtbs modules -j$(nproc) - Clean arguments(可选):填写清理指令,方便一键清理:
关键配置项设置:plaintext
ARCH=arm64 clean
- Make path:选择系统的
- 点击
Apply→OK保存配置。
步骤 3:配置运行 / 调试(Run/Debug Configurations)
- 点击顶部菜单栏
Run→Edit Configurations; - 点击
+按钮,选择Makefile→Makefile; - 配置项说明:
- Name:自定义名称(如
Linux Kernel Build); - Makefile:选择工程根目录的
Makefile(如/home/orbit15/nfsroot/linux-imx/Makefile); - Target:留空(或填写
all,CLion 会自动用步骤 2 配置的 Arguments); - Working directory:工程根目录;
- Before launch:清空所有默认项(如
Build),避免重复编译;
- Name:自定义名称(如
- 点击
Apply→OK。
步骤 4:执行编译(验证配置)
- 点击 CLion 右侧边栏的
Build按钮(锤子图标),或顶部菜单栏Build→Build Project; - CLion 会直接调用
make命令,执行你配置的编译参数,全程不涉及 CMake; - 编译日志会输出在底部的
Build面板中,可查看编译进度和报错信息。
关键注意事项
- 环境变量加载:如果依赖 Yocto 工具链(如
aarch64-poky-linux-gcc),需先在终端加载工具链环境,再启动 CLion:否则 CLion 无法找到bash运行# 加载Yocto SDK环境 source /opt/poky/4.2.7/environment-setup-aarch64-poky-linux # 从终端启动CLion clion.shaarch64-poky-linux-gcc工具链。 - 大项目索引优化:Linux 内核这类超大 Makefile 项目,CLion 代码索引可能较慢,可关闭不必要的索引:
Settings→Editor→File Types→ 排除*.o、*.ko等编译产物;Settings→Build, Execution, Deployment→Compiler→ 关闭External annotations。
- 避免 CLion 自动生成 CMakeLists.txt:不要在工程根目录创建
CMakeLists.txt,否则 CLion 会优先识别为 CMake 项目。
总结
- 取消 CMake 的核心是删除 CMake 配置项 + 配置纯 Makefile 构建规则;
- 必须先加载工具链环境再启动 CLion,确保交叉编译工具链可被识别;
- 配置后 CLion 会直接调用
make命令编译,完全跳过 CMake 流程,适配 Linux 内核等纯 Makefile 工程。
如果配置后仍提示 “CMake 未配置”,可重启 CLion 并确认已删除所有 CMake 配置项,或检查 Makefile 路径是否正确。

浙公网安备 33010602011771号