Add Makefile for all Arm CPUs
This commit is contained in:
parent
ec76d608fb
commit
9aa9a05b93
54
arch/cpu/arm/Makefile.arm
Normal file
54
arch/cpu/arm/Makefile.arm
Normal file
@ -0,0 +1,54 @@
|
||||
CC = arm-none-eabi-gcc
|
||||
CPP = arm-none-eabi-cpp
|
||||
LD = arm-none-eabi-gcc
|
||||
AR = arm-none-eabi-ar
|
||||
OBJCOPY = arm-none-eabi-objcopy
|
||||
OBJDUMP = arm-none-eabi-objdump
|
||||
NM = arm-none-eabi-nm
|
||||
SIZE = arm-none-eabi-size
|
||||
SREC_CAT = srec_cat
|
||||
|
||||
CFLAGS += -mthumb -mabi=aapcs -mlittle-endian
|
||||
CFLAGS += -Werror -Wall
|
||||
CFLAGS += -std=c99
|
||||
CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing
|
||||
CFLAGS += -fshort-enums -fomit-frame-pointer -fno-builtin
|
||||
|
||||
LDFLAGS += -mthumb -mlittle-endian
|
||||
|
||||
OBJDUMP_FLAGS += --disassemble --source --disassembler-options=force-thumb
|
||||
|
||||
### Are we building with code size optimisations?
|
||||
SMALL ?= 1
|
||||
ifeq ($(SMALL),1)
|
||||
CFLAGS += -Os
|
||||
else
|
||||
CFLAGS += -O2
|
||||
endif
|
||||
|
||||
### Use CMSIS and the existing dbg-io from arch/cpu/arm/common
|
||||
CONTIKI_ARM_DIRS += . common/dbg-io
|
||||
CONTIKI_CPU_DIRS += $(addprefix ../arm/, $(CONTIKI_ARM_DIRS))
|
||||
|
||||
### CPU-dependent cleanup files
|
||||
CLEAN += *.d *.elf *.hex
|
||||
|
||||
### Don't treat the following files as intermediate
|
||||
.PRECIOUS: %.elf %.hex %.bin
|
||||
|
||||
%.i16hex: %.elf
|
||||
$(OBJCOPY) -O ihex $< $@
|
||||
|
||||
%.hex: %.i16hex
|
||||
$(SREC_CAT) $< -intel -o $@ -intel
|
||||
|
||||
%.bin: %.elf
|
||||
$(OBJCOPY) -O binary $(OBJCOPY_FLAGS) $< $@
|
||||
|
||||
%.lst: %.elf
|
||||
$(OBJDUMP) $(OBJDUMP_FLAGS) $< > $@
|
||||
|
||||
### We don't really need the .hex and .bin for the .$(TARGET) but let's make
|
||||
### sure they get built
|
||||
%.$(TARGET): %.elf %.hex %.bin
|
||||
cp $< $@
|
Loading…
Reference in New Issue
Block a user