1 # based on Makefile exported form mbed.org
2 # see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded
5 AS = $(GCC_BIN)arm-none-eabi-as
6 CC = $(GCC_BIN)arm-none-eabi-gcc
7 CPP = $(GCC_BIN)arm-none-eabi-g++
8 LD = $(GCC_BIN)arm-none-eabi-gcc
9 OBJCOPY = $(GCC_BIN)arm-none-eabi-objcopy
10 OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
11 SIZE = $(GCC_BIN)arm-none-eabi-size
12 CHKSUM = $(TMK_DIR)/tool/mbed/lpc-vector-checksum
27 LD_FLAGS = $(CPU) -Wl,--gc-sections --specs=nano.specs
28 #LD_FLAGS += -u _printf_float -u _scanf_float
29 LD_FLAGS += -Wl,-Map=$(OBJDIR)/$(PROJECT).map,--cref
30 LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys
33 CC_FLAGS += -DDEBUG -O0
35 CC_FLAGS += -DNDEBUG -Os
38 all: $(OBJDIR)/$(PROJECT).bin $(OBJDIR)/$(PROJECT).hex
41 rm -f $(OBJDIR)/$(PROJECT).bin $(OBJDIR)/$(PROJECT).elf $(OBJDIR)/$(PROJECT).hex $(OBJDIR)/$(PROJECT).map $(OBJDIR)/$(PROJECT).lst $(OBJECTS) $(DEPS)
50 $(CC) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu99 $(INCLUDE_PATHS) -o $@ $<
54 $(CPP) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu++98 -fno-rtti $(INCLUDE_PATHS) -o $@ $<
57 $(OBJDIR)/$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS)
58 $(LD) $(LD_FLAGS) -T$(LINKER_SCRIPT) $(LIBRARY_PATHS) -o $@ $^ $(LIBRARIES) $(LD_SYS_LIBS) $(LIBRARIES) $(LD_SYS_LIBS)
61 $(OBJDIR)/$(PROJECT).bin: $(OBJDIR)/$(PROJECT).elf
62 @$(OBJCOPY) -O binary $< $@
63 ifneq (,$(findstring TARGET_NXP,$(CC_SYMBOLS)))
65 @echo "For NXP writing vector checksum value into $@ ..."
70 $(OBJDIR)/$(PROJECT).hex: $(OBJDIR)/$(PROJECT).elf
71 @$(OBJCOPY) -O ihex $< $@
73 $(OBJDIR)/$(PROJECT).lst: $(OBJDIR)/$(PROJECT).elf
74 @$(OBJDUMP) -Sdh $< > $@
76 lst: $(OBJDIR)/$(PROJECT).lst
79 $(SIZE) $(OBJDIR)/$(PROJECT).elf
81 prog: $(OBJDIR)/$(PROJECT).bin
83 ifneq ($(shell mount | grep 'CRP DISABLD'),)
84 umount /dev/nxpisp >/dev/null 2>&1
86 dd if=$< of=/dev/nxpisp seek=4
88 DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)