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