依赖文件只有一个
目标文件:依赖文件(为一个)
对应的规则
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