linux makefile 单文件 多文件编译
单文件
led.bin:led.s led.lds
arm-angstrom-linux-gnueabi-gcc -c led.s -o led.o
arm-angstrom-linux-gnueabi-gcc -c delay.s -o delay.o
arm-angstrom-linux-gnueabi-ld -Tled.lds led.o delay.o -o led.elf
arm-angstrom-linux-gnueabi-objcopy -O binary -S led.elf led.bin
arm-angstrom-linux-gnueabi-objdump -d led.elf>led.dis
clean:
rm -fr *.o *.elf *.bin *.dis
多文件
objs = start.o init.o armboot.o serial.o
bootloader.bin:$(objs)
arm-linux-gnu-ld -Tbootloader.lds -o bootloader.elf $^
arm-linux-gnu-objcopy -O binary -S bootloader.elf $@
arm-linux-gnu-objdump -d bootloader.elf >bootloader.dis
%.o:%.c
arm-linux-gnu-gcc -c -Wall -02 -o $@ $<
%.o:%.S
arm-linux-gnu-gcc -Wall -O2 -c -o $@ $<
clean:
rm -fr *.bin *.elf *.o *.dis

浙公网安备 33010602011771号