Linux内核scripts/Makefile.build文件结构

2023-11-02

1. 默认目标__build

2. 初始化obj-y、obj-m等变量

3. -include include/config/auto.conf
 内含CONFIG_RING_BUFFER=y等变量列表

4. include scripts/Kbuild.include
 内含各辅助函数、变量的定义
 如变量build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj

5. include $(kbuild-file)
 变量obj传进来目录内的Makefile(或Kbuild优先)

6. include scripts/Makefile.lib
 内含c_flags、a_flags各编译标志变量
 处理obj-y、obj-m等变量

7. 若有$(hostprogs-y)或$(hostprogs-m)需要编译主机程序,则include scripts/Makefile.host

8. builtin-target、lib-target、modorder-target

9. __build: $(if $(KBUILD_BUILTIN),$(builtin-target) $(lib-target) $(extra-y)) \
  $(if $(KBUILD_MODULES),$(obj-m) $(modorder-target)) \
  $(subdir-ym) $(always)

10. .c、.S等文件的编译规则

11. 递归进入子目录的规则
 $(subdir-ym):
  $(Q)$(MAKE) $(build)=$@

 

 

通常内核各个文件都是由-f参数使用scripts/Makefile.build文件来作为Makefile进行目标的编译

对目标的编译主要使用如下格式:

$(Q)$(MAKE) $(build)=目录 [目标]

build变量在scripts/Kbuild.include中定义

展开即:

make -f scripts/Makefile.build obj=目录 [目标]

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux内核scripts/Makefile.build文件结构 的相关文章

  • Linux异常(中断)处理体系结构

    前言 可以调到总结处先看明白这篇文章要说明的内容 再回到开头看 1 异常 异常 就是可以打断CPU正常运行流程的一些事情 比如 外部中断 未定义的指令 企图修改只读的数据 执行SWI指令 Software Interrupt Instruc
  • chinaUnix中的linux源代码学习

    原文地址 http bbs chinaunix net thread 1930079 1 1 html 大家好 内核源码版对本版块的精华帖进行了分类汇总 所有的精华帖分为十大类 各个分类的精华帖相关信息分布在该贴2 11楼 每个分类各占1楼
  • linux2.6.29 CFS调度详细分析

    linux2 6 29 CFS调度详细分析 众所周知 linux最新的内核采用了CFS的调度机制 网上也有不少文章对CFS调度的源码做了详细的分析 但是大部分的文章太注重细节了 所以没有把CFS的原理进行一下从整体上的概括 基于这个原因 本
  • CPU特权级保护

    1 特权级 1 1特权级 处理器段保护机制可以识别0 3共4级特权级 数值越大 特权越小 处理器通过识别CPL DPL RPL这三种特权级来进行特权级校验 1 CPL CPL是当前正在执行程序或任务的特权级 它存放在CS和SS段寄存器的0位
  • Android:在争议中逃离Linux内核的GPL约束

    原文地址 http tech sina com cn s s 2012 05 28 09447177318 shtml 为这个题材起名 我思考了许久 GPL 是著名的开放源代码许可协议 Linux 内核开源项目正是在 GPL 的庇佑之下 十
  • chroot命令

    转载 理解 chroot 什么是 chroot chroot 即 change root directory 更改 root 目录 在 linux 系统中 系统默认的目录结构都是以 即是以根 root 开始的 而在使用 chroot 之后
  • Linux提权之内核漏洞提权篇

    前言 在渗透过程中 有时利用某些漏洞可以获取一个低权限的用户 然后想办法提权 提升到root用户权限 从而控制整个系统 在获取到低权限shell后 通常会检查操作系统的发行版本 内核版本 老版本的系统可能会存在一些漏洞 于是我们可以利用这些
  • linux支持usb打印机

    配置CONFIG USB PRINTER y inux内核默认运行打印机 核 驱动 直接在配置上CONFIG USB PRINTER y添加上去就好了 make menuconfig 选上USB打印机选项 Device Drivers gt
  • 第三章 套接字相关数据结构--基于Linux3.10

    本章是对socket通信过程中使用到的比较重要的据结构罗列和意义的阐述 在阅读其它层的代码前 先来看几个重要的数据结构 这几个数据结构贯串四层模型 3 1 socket对应的内核结构体 在用户空间使用socket 函数创建一个套接字 对应的
  • file_operations 结构体

    file operations 结构体中的成员函数是字符设备驱动程序设计的主体内容 这些函数实际会在应用程序进行 Linux 的 open write read close 等系统调用时最终被调用 file operations 结构体目前
  • make -C $(LINUX_KERNEL_PATH) M=$(PWD) modules中的M选项

    新的内核模块编程中的make命令里有个M选项 如下 make C lib modules shell uname r build M PWD modules M PWD 意思是返回到当前目录继续读入 执行当前的Makefile 请参考 从
  • 学习linux内核的经典书籍介绍

    有关内核的书籍可以用汗牛充栋来形容 不过只有一些经典的神作经住了考验 首先是5本久经考验的神作 个人概括为 2 1 2 第一个2是指2本全面讲解内核的书 中间的1指1本讲解驱动开发的书 后面的2则指2本有关内核具体子系统的书 你是否想到了某
  • 【内核驱动】Linux概述

    00 目录 文章目录 00 目录 01 Unix简介 02 Linux简介 03 Linux发展史 04 单内核与微内核区别 05 Linux内核 06 Linux内核组成 07 Linux官方网站 08 附录 01 Unix简介 UNIX
  • kvm内存管理

    qemu kvm 进程很像一个普通的linux程序 它通过通常的malloc和mmap调用来申请内存 如果一个客户系统想使用1G物理内存 qemu kvm将会做一个malloc 1 lt lt 30 调用 在主机上申请1G的虚拟地址 然而
  • 【xenclient】 使用小结 -- ubuntu的千百bug

    说道多系统 不能不提下ubuntu 以前redhat似乎是linux的领头羊 但在桌面领域 跟windows还是差得太远 在linux最弱的桌面特性上 ubuntu算是第一个以桌面特效全面超越windows的系统了 因此我的系统 除了保留做
  • linux内核使用的一些算法和思想(个人总结)

    这里只罗列一些算法 其中有些在我之前的博文中有所涉及 有些没有 后续有时间再详细分析每一个算法 排名不分先后 1 trie算法 linux网络子系统中取代了之前哈希算法的新路由算法 适合有大 超大规模路由项的应用场景 2 CFS compl
  • Linux slab 分配器剖析

    http www ibm com developerworks cn linux l linux slab allocator 了解 Linux 内存管理的方式 良好的操作系统性能部分依赖于操作系统有效管理资源的能力 在过去 堆内存管理器是
  • int $0x80系统调用的idea

    1 基础知识 用户态和内核态 一般现代CPU都有几种不同的指令执行级别 Linux总共划分为4个指令执行级别 内核运行在0级别上 1 2级别默认不运行 用户程序运行在3级别上 在内核指令执行级别上 代码可以执行特权指令 访问任意的物理地址
  • Linux进程管理:deadline调度器

    一 概述 实时系统是这样的一种计算系统 当事件发生后 它必须在确定的时间范围内做出响应 在实时系统中 产生正确的结果不仅依赖于系统正确的逻辑动作 而且依赖于逻辑动作的时序 换句话说 当系统收到某个请求 会做出相应的动作以响应该请求 想要保证
  • linux内核驱动开发笔试题

    linux内核驱动开发笔试题 一 一些常规中举的C考题 第一题 写出下述程序结果 int m 3 1 4 7 2 5 8 3 6 9 int i j k 2 for i 0 i lt 3 i printf d m k i 问题所在 本题考点

随机推荐