]> git.donarmstrong.com Git - qmk_firmware.git/blob - tmk_core/tool/mbed/mbed-sdk/workspace_tools/export/gcc_arm_lpc11u35_401.tmpl
Merge commit '1fe4406f374291ab2e86e95a97341fd9c475fcb8'
[qmk_firmware.git] / tmk_core / tool / mbed / mbed-sdk / workspace_tools / export / gcc_arm_lpc11u35_401.tmpl
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-m0 -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         @echo ""
56         @echo "*****"
57         @echo "***** You must modify vector checksum value in *.bin and *.hex files."
58         @echo "*****"
59         @echo ""
60         $(SIZE) $@
61
62 $(PROJECT).bin: $(PROJECT).elf
63         @$(OBJCOPY) -O binary $< $@
64
65 $(PROJECT).hex: $(PROJECT).elf
66         @$(OBJCOPY) -O ihex $< $@
67
68 $(PROJECT).lst: $(PROJECT).elf
69         @$(OBJDUMP) -Sdh $< > $@
70
71 lst: $(PROJECT).lst
72
73 size:
74         $(SIZE) $(PROJECT).elf
75
76 DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
77 -include $(DEPS)
78