makefile

来自「GCC arm startup example2 for LPC series」· 代码 · 共 101 行

TXT
101
字号
# -----------------------------------------------------------------
# Makefile for ex9 
# -----------------------------------------------------------------

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: ex9a.hex ex9b.hex ex9c.hex

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

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

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

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

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

⌨️ 快捷键说明

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