the other jimmy / mbed-sdk-tools

Fork of mbed-sdk-tools by mbed official

Committer:
screamer
Date:
Thu May 19 19:44:41 2016 +0100
Revision:
0:66f3b5499f7f
Child:
13:ab47a20b66f0
Initial revision

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 0:66f3b5499f7f 1 # This file was automagically generated by mbed.org. For more information,
screamer 0:66f3b5499f7f 2 # see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded
screamer 0:66f3b5499f7f 3
screamer 0:66f3b5499f7f 4 GCC_BIN =
screamer 0:66f3b5499f7f 5 PROJECT = {{name}}
screamer 0:66f3b5499f7f 6 OBJECTS = {% for f in to_be_compiled %}{{f}} {% endfor %}
screamer 0:66f3b5499f7f 7 SYS_OBJECTS = {% for f in object_files %}{{f}} {% endfor %}
screamer 0:66f3b5499f7f 8 INCLUDE_PATHS = {% for p in include_paths %}-I{{p}} {% endfor %}
screamer 0:66f3b5499f7f 9 LIBRARY_PATHS = {% for p in library_paths %}-L{{p}} {% endfor %}
screamer 0:66f3b5499f7f 10 LIBRARIES = {% for lib in libraries %}-l{{lib}} {% endfor %}
screamer 0:66f3b5499f7f 11 LINKER_SCRIPT = {{linker_script}}
screamer 0:66f3b5499f7f 12
screamer 0:66f3b5499f7f 13 ###############################################################################
screamer 0:66f3b5499f7f 14 AS = $(GCC_BIN)arm-none-eabi-as
screamer 0:66f3b5499f7f 15 CC = $(GCC_BIN)arm-none-eabi-gcc
screamer 0:66f3b5499f7f 16 CPP = $(GCC_BIN)arm-none-eabi-g++
screamer 0:66f3b5499f7f 17 LD = $(GCC_BIN)arm-none-eabi-g++
screamer 0:66f3b5499f7f 18 OBJCOPY = $(GCC_BIN)arm-none-eabi-objcopy
screamer 0:66f3b5499f7f 19 OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
screamer 0:66f3b5499f7f 20 SIZE = $(GCC_BIN)arm-none-eabi-size
screamer 0:66f3b5499f7f 21
screamer 0:66f3b5499f7f 22 CPU = -mcpu=cortex-m0plus -mthumb
screamer 0:66f3b5499f7f 23 CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -fomit-frame-pointer
screamer 0:66f3b5499f7f 24 CC_FLAGS += -MMD -MP
screamer 0:66f3b5499f7f 25 CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %}
screamer 0:66f3b5499f7f 26
screamer 0:66f3b5499f7f 27 LD_FLAGS = $(CPU) -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float -Wl,--wrap,main
screamer 0:66f3b5499f7f 28 LD_FLAGS += -Wl,-Map=$(PROJECT).map,--cref
screamer 0:66f3b5499f7f 29 LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lgcc -Wl,--start-group -lc -lc -lnosys -Wl,--end-group
screamer 0:66f3b5499f7f 30
screamer 0:66f3b5499f7f 31 ifeq ($(DEBUG), 1)
screamer 0:66f3b5499f7f 32 CC_FLAGS += -DDEBUG -O0
screamer 0:66f3b5499f7f 33 else
screamer 0:66f3b5499f7f 34 CC_FLAGS += -DNDEBUG -Os
screamer 0:66f3b5499f7f 35 endif
screamer 0:66f3b5499f7f 36
screamer 0:66f3b5499f7f 37 all: $(PROJECT).bin $(PROJECT).hex
screamer 0:66f3b5499f7f 38
screamer 0:66f3b5499f7f 39 clean:
screamer 0:66f3b5499f7f 40 rm -f $(PROJECT).bin $(PROJECT).elf $(PROJECT).hex $(PROJECT).map $(PROJECT).lst $(OBJECTS) $(DEPS)
screamer 0:66f3b5499f7f 41
screamer 0:66f3b5499f7f 42 .s.o:
screamer 0:66f3b5499f7f 43 $(AS) $(CPU) -o $@ $<
screamer 0:66f3b5499f7f 44
screamer 0:66f3b5499f7f 45 .c.o:
screamer 0:66f3b5499f7f 46 $(CC) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu99 $(INCLUDE_PATHS) -o $@ $<
screamer 0:66f3b5499f7f 47
screamer 0:66f3b5499f7f 48 .cpp.o:
screamer 0:66f3b5499f7f 49 $(CPP) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu++98 -fno-rtti $(INCLUDE_PATHS) -o $@ $<
screamer 0:66f3b5499f7f 50
screamer 0:66f3b5499f7f 51
screamer 0:66f3b5499f7f 52 $(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS)
screamer 0:66f3b5499f7f 53 $(LD) $(LD_FLAGS) -T$(LINKER_SCRIPT) $(LIBRARY_PATHS) -o $@ $^ $(LIBRARIES) $(LD_SYS_LIBS) $(LIBRARIES) $(LD_SYS_LIBS)
screamer 0:66f3b5499f7f 54 $(SIZE) $@
screamer 0:66f3b5499f7f 55
screamer 0:66f3b5499f7f 56 $(PROJECT).bin: $(PROJECT).elf
screamer 0:66f3b5499f7f 57 @$(OBJCOPY) -O binary $< $@
screamer 0:66f3b5499f7f 58
screamer 0:66f3b5499f7f 59 $(PROJECT).hex: $(PROJECT).elf
screamer 0:66f3b5499f7f 60 @$(OBJCOPY) -O ihex $< $@
screamer 0:66f3b5499f7f 61
screamer 0:66f3b5499f7f 62 $(PROJECT).lst: $(PROJECT).elf
screamer 0:66f3b5499f7f 63 @$(OBJDUMP) -Sdh $< > $@
screamer 0:66f3b5499f7f 64
screamer 0:66f3b5499f7f 65 lst: $(PROJECT).lst
screamer 0:66f3b5499f7f 66
screamer 0:66f3b5499f7f 67 size:
screamer 0:66f3b5499f7f 68 $(SIZE) $(PROJECT).elf
screamer 0:66f3b5499f7f 69
screamer 0:66f3b5499f7f 70 DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
screamer 0:66f3b5499f7f 71 -include $(DEPS)
screamer 0:66f3b5499f7f 72