uboot主Makefile分析

本文探讨了Makefile中的 '@' 和 '$@' 符号的含义,并通过实例展示了如何在Makefile中直接使用文件名作为命令。通过变量MAKEFLAGS理解标志的传递,以及如何创建和执行伪目标。
摘要由CSDN通过智能技术生成



 导出后的这些变量可以被其他文件使用,我们称这种变量为环境变量,环境变量相当于C中的全局变量,环境变量一般用大写字母表示。
小插曲①: 什么是静默编译?
平时编译时命令行会打印出来很多编译信息,有时候我们不希望看到这些编译信息,即后台编译即可,就叫静默编译;
静默编译的使用方法
编译时 make -s,-s会作为MAKEFLAGS传给Makefile;其中MAKEFLALGS是个变量

‘-s’和‘-k’标志通过变量MAKEFLAGS自动传递给子make。该变量由make自动建立,并包含make收到的标志字母。所以,如果用‘make –ks’变量MAKEFLAGS就得到值‘ks’


上面截图中的50行中就是从变量MAKEFLAGS中寻找s,如果找到了就执行非静默编译。

小插曲②: uboot的两种编译方法(原地编译和单独输出文件夹编译)
(1)编译复杂项目,Makefile提供两种编译管理方法,默认情况下是当前文件夹中的 .c文件和编译生成的 .o文件会放在同一文件夹下,这种方式叫原地编译。原地编译的坏处:污染了原文件目录;
(2)为了解决原地编译的缺点,uboot支持单独输出文件夹方式的编译:即在编译时另外指定一个输出目录,将所有的生成的.o文件或生成的其他文件全部丢到那个输出目录中。
(3)默认是原地编译,要指定具体的输出目录编译有两种方式来指定输出目录;
        第一种:make O=输出目录;
        第二种:export BUILD_DIR(表示uboot的编译路径)=输出目录,然后在make,如果两种都指定了,则O=xx这种具有更高的优先级。具体细节如下截图:






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值