📄 makefile
字号:
###############################################################################
#
# uC/OS-II Porting for LPC210x
# Compiler: gcc
# By: Pary WU <parywu@mail2000.com.tw>
# History:
# 0406271325:parywu
# The first stable release.
# 0406281914:parywu
# ARM/Thumb interworking okay.
# 0407031812:parywu
# Port to gcc (3.4.0)
#
###############################################################################
# toolchain, downloaded from www.macraigor.com, under Cygwin
CC = arm-elf-gcc
AS = arm-elf-as
OBJCOPY = arm-elf-objcopy
OBJDUMP = arm-elf-objdump
LD = arm-elf-ld
RM = rm -f
INCDIR = -I.
LIBDIR = -L/usr/local/lib/gcc/arm-elf/3.4.0/thumb
LIB = -lgcc
DEFS = -DcThumbMode
# .S are compiled under ARM mode
# .C are compiled under THUMB mode, although they can be configured to ARM mode
SRCC = os_cpu_c.c ucos_ii.c app.c console.c frame.c
SRCS = os_cpu_a.S init.S
CFLAGS = -mcpu=arm7tdmi -O3 -mapcs-32 -mthumb-interwork -mthumb
SFLAGS = -mcpu=arm7tdmi -EL -mthumb-interwork
LFLAGS = -nostartfiles -s
LDFILE = image.x
ELFFILE = image.elf
MAPFILE = image.map
HEXFILE = image.hex
OBJC = $(notdir $(patsubst %.c, %.o, $(SRCC)))
OBJS = $(notdir $(patsubst %.S, %.o, $(SRCS)))
OBJ = $(OBJC) $(OBJS)
.PHONY : all image
all: image
objs: $(OBJ)
image: $(HEXFILE)
$(OBJC): %.o : %.c
$(CC) $(CFLAGS) $(INCDIR) -o $@ -c $<
$(OBJS): %.o : %.S
$(AS) $(SFLAGS) $(INCDIR) -o $@ $<
$(ELFFILE): $(OBJ) $(LDFILE)
$(LD) $(OBJ) $(LFLAGS) $(LIBDIR) $(LIB) -T $(LDFILE) -o $(ELFFILE) -Map=$(MAPFILE)
$(HEXFILE): $(ELFFILE)
$(OBJCOPY) -O ihex $(ELFFILE) $(HEXFILE)
.PHONY : clean
clean :
$(RM) *.o
$(RM) *.elf
$(RM) *.hex
$(RM) *.map
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -