(3) uboot之Makefile变量和自动变量

Makefile中的变量和自动变量图
在这里插入图片描述

Makefile代码

#定义变量CC
CC := arm-linux-gcc

#伪目标修饰
.PHONY:all
#伪目标all
all:	myboot

#所有目标文件  : 所有依赖文件
#通过CC变量替换arm-linux-gcc, -o 生成目标的集合 -c 依赖中的第一文件
%.o : %.s
	$(CC) -o $@ -c $<

.PHONY:mksd
mksd:
	#使用dd命令将输入文件没有boot.16k烧写到SD卡的扇区1中,此条命令在只make的时候不会执行,只有在make mksd的时候开始运行
	sudo dd iflag=dsync oflag=dsync if=myboot.16k of=/dev/sdb seek=1	

#myboot的依赖有两个 mystart.o和mylowlevel_init.o,make在文件中没有发现*.o依赖后会在下面寻找*.o,如果有则执行
myboot: mystart.o mylowlevel_init.o myboot.lds
	arm-linux-ld -Tmyboot.lds -o myboot mystart.o mylowlevel_init.o	#链接生成elf格式的myboot,说明myboot.lds为链接脚本
	arm-linux-objcopy -o binary myboot myboot.bin	#生成myboot.bin的二进制文件
	./mkv210 myboot.bin myboot.16k	#运行mkv210将myboot.bin制作成myboot.16k的烧写文件

.PHONY:clear
clear
	rm *.o myboot myboot.bin myboot.16k -f	#-f:表示强制删除不提示

增加的知识点

  1. 变量 CC
    用法:
    CC := arm-linux-gcc
  2. 自动变量
    用法:
    %.o : %.s
    $(CC) -o $@ -c $<
  3. 增加clear 伪目标
    用法:
    在linux中写make clear 指令自动删除xx文件
    make clear
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值