Linux Makefile 产生bin/elf文件

本文介绍了如何通过多阶段依赖文件编译,从源代码(s)到生成的bin文件,涉及规则包括链接、objcopy和反汇编操作,以及clean命令的使用。详细解析了不同依赖文件和目标文件的关系,以及编译步骤的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依赖文件只有一个

目标文件:依赖文件(为一个)
	对应的规则
led.bin : led.s
	arm-linux-gnueabihf-gcc -g -c led.s -o led.o #产生.o文件
	arm-linux-gnueabihf-ld -Ttext 0x87800000 led.o -o led.elf  #产生.elf文件
	arm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.bin  #产生.bin文件
	arm-linux-gnueabihf-objdump -D led.elf > led.dis  #反汇编

clean:
	rm -rf *.o led.bin led.elf led.dis	#清除所有的文件

依赖文件有两个

目标文件:依赖文件(为两个)
	对应的规则

objs :=start.o main.o
(目前只存在start.s  mian.c---当依赖文件不存在时 需要查找下一条规则直到存在依赖文件为止)
led.bin : $(objs)
	arm-linux-gnueabihf-ld -Ttext 0x87800000  -o led.elf  $^  #产生.elf文件
	arm-linux-gnueabihf-objcopy -O binary -S  led.elf $@  #产生.bin文件
	arm-linux-gnueabihf-objdump -D led.elf > led.dis  #反汇编	

	#$^:所有依赖文件的集合
	#$@:所有目标的集合
	#第一句相当于arm-linux-gnueabihf-ld -Ttext 0x87800000 main.o start.o -o led.elf
	#第二句相当于arm-linux-gnueabihf-objcopy -O binary -S led.elf led.bin  

%.o : %.s
	arm-linux-gnueabihf-gc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值