UBOOT编译--- make xxx_deconfig过程详解(一)

本文详细解析了UBOOT编译过程中make xxx_deconfig的步骤,包括依赖scripts_basic、outputmakefile、FORCE的规则,以及如何执行make -f $(srctree)/scripts/Makefile.build进行编译。通过对变量build、%config的定义和相关规则的分析,揭示了make xxx_deconfig背后的工作原理。
摘要由CSDN通过智能技术生成

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

make xxx_deconfig过程详解

1. 前言

UBOOT版本:uboot2018.03,开发板myimx8mmek240。

2. 概述

Ubootb编译第一步通常是执行make xxx_config,在编译指定顶层目录生成.config文件,这种方式要求厂商提供一个基础的xxx_config文件(通常来说开发者不会通过执行make menuconfig从零开始配置,这个工作过量太大了)。本文接下来的章节主要解析这条指令背后主要做了什么。我是用的开发板执行命令为:make myimx8mmek240-8mm-2g_defconfig

3. build变量的定义

在scripts/Kbuild.include 中定义:



|  | ### |
|  | # Shorthand for $(Q)$(MAKE) -f scripts/Makefile.build obj= |
|  | # Usage: |
|  | # $(Q)$(MAKE) $(build)=dir |
|  | build := -f $(srctree)/scripts/Makefile.build obj |


4. 目标%config的定义

在顶层Makefile中定义:



|  | # We need some generic definitions (do not try to remake the file). |
|  | scripts/Kbuild.include: ; |
|  | include scripts/Kbuild.include //注意这个引用 |
|  |  |
|  | ...... |
|  |  |
|  | config: scripts\_basic outputmakefile FORCE |
|  |  $(Q)$(MAKE) $(build)=scripts/kconfig $@ |
|  |  |
|  | %config: scripts\_basic outputmakefile FORCE |
|  |  $(Q)$(MAKE) $(build)=scripts/kconfig $@ |


4.1 依赖 scripts_basic

(参考:linux内核Makefile中的变量build— 过渡篇(五)



|  | # 顶层Makefile |
|  | # Basic helpers built in scripts/ |
|  | PHONY += scripts\_basic |
|  | scripts\_basic: |
|  |  $(Q)$(MAKE) $(build)=scripts/basic |
|  |  $(Q)rm -f .tmp\_quiet\_recordmcount |


展开变量build



|  | # 顶层Makefile |
|  | # Basic helpers built in scripts/ |
|  | PHONY += scripts\_basic |
|  | scripts\_basic: |
|  |  $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.build obj=scripts/basic |
|  |  $(Q)rm -f .tmp\_quiet\_recordmcount |


make -f $(srctree)/scripts/Makefile.build obj=scripts/basic的解析如下:

这是一种不指定目标的情况,由于未指定目标,这时会使用Ma

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值