makefile

来自「GCC arm startup example for beginners」· 代码 · 共 75 行

TXT
75
字号
# -----------------------------------------------------------------
# Makefile for ex6.elf 
# -----------------------------------------------------------------

CC      = arm-elf-gcc
CFLAGS  = -Wall -O2 -mcpu=arm7tdmi -I./ -I../common

# Override the default linker script .text section start address
LDFLAGS = -T../lpc2138_flash.ld -nostartfiles

all: ex6a.hex ex6b.hex

# -----------------------------------------------------------------
# LED control
# -----------------------------------------------------------------

led.o: ../common/led.h ../common/led.c
	$(CC) $(CFLAGS) $(LDFLAGS) -c ../common/led.c
	
# -----------------------------------------------------------------
# Example 6a
# -----------------------------------------------------------------

ex6a.elf: ex6_start.s ex6a_main.c led.o
	$(CC) $(CFLAGS) $(LDFLAGS) \
	ex6_start.s ex6a_main.c led.o -o ex6a.elf
	
ex6a.hex: ex6a.elf
	arm-elf-objcopy -O ihex ex6a.elf ex6a.hex
	
# Use 'make ex6a.size' to see the section sizes 	
ex6a.size: ex6a.elf
	@echo -n "-------------------------------"
	@echo    "-------------------------------"
	@echo "Object section sizes:"
	@echo -n "-------------------------------"
	@echo    "-------------------------------"
	@echo ""
	arm-elf-size ex6a.elf
	@echo ""
	@echo -n "-------------------------------"
	@echo    "-------------------------------"
	@echo ""
	arm-elf-objdump -h ex6a.elf

# -----------------------------------------------------------------
# Example 6b
# -----------------------------------------------------------------

ex6b.elf: ex6_start.s ex6b_main.c led.o
	$(CC) $(CFLAGS) $(LDFLAGS) \
	ex6_start.s ex6b_main.c led.o -o ex6b.elf
	
ex6b.hex: ex6b.elf
	arm-elf-objcopy -O ihex ex6b.elf ex6b.hex
	
# Use 'make ex6b.size' to see the section sizes 	
ex6b.size: ex6b.elf
	@echo -n "-------------------------------"
	@echo    "-------------------------------"
	@echo "Object section sizes:"
	@echo -n "-------------------------------"
	@echo    "-------------------------------"
	@echo ""
	arm-elf-size ex6b.elf
	@echo ""
	@echo -n "-------------------------------"
	@echo    "-------------------------------"
	@echo ""
	arm-elf-objdump -h ex6b.elf
	
clean:
	-rm -rf *.o *.elf *.hex

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?