the other jimmy / mbed-sdk-tools

Fork of mbed-sdk-tools by mbed official

Committer:
screamer
Date:
Mon Aug 29 11:18:36 2016 +0100
Revision:
29:1210849dba19
Parent:
13:ab47a20b66f0
Port the latest tools patches from https://github.com/ARMmbed/mbed-os

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 13:ab47a20b66f0 4 # cross-platform directory manipulation
screamer 13:ab47a20b66f0 5 ifeq ($(shell echo $$OS),$$OS)
screamer 13:ab47a20b66f0 6 MAKEDIR = if not exist "$(1)" mkdir "$(1)"
screamer 13:ab47a20b66f0 7 RM = rmdir /S /Q "$(1)"
screamer 13:ab47a20b66f0 8 else
screamer 13:ab47a20b66f0 9 MAKEDIR = $(SHELL) -c "mkdir -p \"$(1)\""
screamer 13:ab47a20b66f0 10 RM = $(SHELL) -c "rm -rf \"$(1)\""
screamer 13:ab47a20b66f0 11 endif
screamer 13:ab47a20b66f0 12
screamer 13:ab47a20b66f0 13 ifeq (,$(filter .build,$(notdir $(CURDIR))))
screamer 13:ab47a20b66f0 14 .SUFFIXES:
screamer 13:ab47a20b66f0 15 OBJDIR := .build
screamer 13:ab47a20b66f0 16 mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
screamer 13:ab47a20b66f0 17 MAKETARGET = $(MAKE) --no-print-directory -C $(OBJDIR) -f $(mkfile_path) \
screamer 13:ab47a20b66f0 18 SRCDIR=$(CURDIR) $(MAKECMDGOALS)
screamer 13:ab47a20b66f0 19 .PHONY: $(OBJDIR) clean
screamer 13:ab47a20b66f0 20 all:
screamer 13:ab47a20b66f0 21 +@$(call MAKEDIR,$(OBJDIR))
screamer 13:ab47a20b66f0 22 +@$(MAKETARGET)
screamer 13:ab47a20b66f0 23 $(OBJDIR): all
screamer 13:ab47a20b66f0 24 Makefile : ;
screamer 13:ab47a20b66f0 25 % :: $(OBJDIR) ; :
screamer 13:ab47a20b66f0 26 clean :
screamer 13:ab47a20b66f0 27 $(call RM,$(OBJDIR))
screamer 13:ab47a20b66f0 28 {% block target_clean -%}
screamer 13:ab47a20b66f0 29 {% endblock %}
screamer 13:ab47a20b66f0 30 else
screamer 13:ab47a20b66f0 31
screamer 13:ab47a20b66f0 32 VPATH = {% for path in vpath %}{{path}} {% endfor %}
screamer 13:ab47a20b66f0 33
screamer 0:66f3b5499f7f 34 GCC_BIN =
screamer 0:66f3b5499f7f 35 PROJECT = {{name}}
screamer 0:66f3b5499f7f 36 OBJECTS = {% for f in to_be_compiled %}{{f}} {% endfor %}
screamer 0:66f3b5499f7f 37 SYS_OBJECTS = {% for f in object_files %}{{f}} {% endfor %}
screamer 0:66f3b5499f7f 38 INCLUDE_PATHS = {% for p in include_paths %}-I{{p}} {% endfor %}
screamer 0:66f3b5499f7f 39 LIBRARY_PATHS = {% for p in library_paths %}-L{{p}} {% endfor %}
screamer 0:66f3b5499f7f 40 LIBRARIES = {% for lib in libraries %}-l{{lib}} {% endfor %}
screamer 0:66f3b5499f7f 41 LINKER_SCRIPT = {{linker_script}}
screamer 0:66f3b5499f7f 42 {%- block additional_variables -%}{% endblock %}
screamer 0:66f3b5499f7f 43
screamer 0:66f3b5499f7f 44 ###############################################################################
screamer 0:66f3b5499f7f 45 AS = $(GCC_BIN)arm-none-eabi-as
screamer 0:66f3b5499f7f 46 CC = $(GCC_BIN)arm-none-eabi-gcc
screamer 0:66f3b5499f7f 47 CPP = $(GCC_BIN)arm-none-eabi-g++
screamer 0:66f3b5499f7f 48 LD = $(GCC_BIN)arm-none-eabi-gcc
screamer 0:66f3b5499f7f 49 OBJCOPY = $(GCC_BIN)arm-none-eabi-objcopy
screamer 0:66f3b5499f7f 50 OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
screamer 0:66f3b5499f7f 51 SIZE = $(GCC_BIN)arm-none-eabi-size
screamer 0:66f3b5499f7f 52 {%- block additional_executables -%}{% endblock %}
screamer 0:66f3b5499f7f 53
screamer 0:66f3b5499f7f 54 {%- block flags -%}
screamer 0:66f3b5499f7f 55
screamer 0:66f3b5499f7f 56 {% block hardfp %}
screamer 0:66f3b5499f7f 57 {% if "-mfloat-abi=softfp" in cpu_flags %}
screamer 0:66f3b5499f7f 58 ifeq ($(HARDFP),1)
screamer 0:66f3b5499f7f 59 FLOAT_ABI = hard
screamer 0:66f3b5499f7f 60 else
screamer 0:66f3b5499f7f 61 FLOAT_ABI = softfp
screamer 0:66f3b5499f7f 62 endif
screamer 0:66f3b5499f7f 63 {% endif %}
screamer 0:66f3b5499f7f 64 {%- endblock %}
screamer 0:66f3b5499f7f 65
screamer 0:66f3b5499f7f 66 CPU = {% block cpu %}{% for cf in cpu_flags %}{{cf|replace("-mfloat-abi=softfp","-mfloat-abi=$(FLOAT_ABI)")}} {% endfor %}{% endblock %}
screamer 13:ab47a20b66f0 67 CC_FLAGS = {% block cc_flags %}{{common_flags|join(" ")}} {{c_flags|join(" ")}} -MMD -MP{% endblock %}
screamer 13:ab47a20b66f0 68 CPPC_FLAGS = {% block cppc_flags %}{{common_flags|join(" ")}} {{cxx_flags|join(" ")}} -MMD -MP{% endblock %}
screamer 13:ab47a20b66f0 69 ASM_FLAGS = {% block asm_flags %}{{asm_flags|join(" ")}} {{common_flags|join(" ")}}{% endblock %}
screamer 0:66f3b5499f7f 70 CC_SYMBOLS = {% block cc_symbols %}{% for s in symbols %}-D{{s}} {% endfor %}{% endblock %}
screamer 0:66f3b5499f7f 71
screamer 13:ab47a20b66f0 72 LD_FLAGS = {%- block ld_flags -%} {{ld_flags|join(" ")}} {% endblock %}
screamer 0:66f3b5499f7f 73 LD_SYS_LIBS = {% block ld_sys_libs %}-lstdc++ -lsupc++ -lm -lc -lgcc -lnosys{% endblock %}
screamer 0:66f3b5499f7f 74 {% endblock %}
screamer 0:66f3b5499f7f 75
screamer 0:66f3b5499f7f 76 ifeq ($(DEBUG), 1)
screamer 0:66f3b5499f7f 77 CC_FLAGS += -DDEBUG -O0
screamer 0:66f3b5499f7f 78 else
screamer 0:66f3b5499f7f 79 CC_FLAGS += -DNDEBUG -Os
screamer 0:66f3b5499f7f 80 endif
screamer 0:66f3b5499f7f 81
screamer 13:ab47a20b66f0 82
screamer 13:ab47a20b66f0 83 .PHONY: all lst size
screamer 0:66f3b5499f7f 84
screamer 0:66f3b5499f7f 85 {% block target_all -%}
screamer 0:66f3b5499f7f 86 all: $(PROJECT).bin $(PROJECT).hex size
screamer 0:66f3b5499f7f 87 {% endblock %}
screamer 0:66f3b5499f7f 88
screamer 0:66f3b5499f7f 89
screamer 0:66f3b5499f7f 90 .asm.o:
screamer 13:ab47a20b66f0 91 +@$(call MAKEDIR,$(dir $@))
screamer 29:1210849dba19 92 $(CC) $(CPU) -c $(ASM_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $<
screamer 0:66f3b5499f7f 93 .s.o:
screamer 13:ab47a20b66f0 94 +@$(call MAKEDIR,$(dir $@))
screamer 29:1210849dba19 95 $(CC) $(CPU) -c $(ASM_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $<
screamer 0:66f3b5499f7f 96 .S.o:
screamer 13:ab47a20b66f0 97 +@$(call MAKEDIR,$(dir $@))
screamer 29:1210849dba19 98 $(CC) $(CPU) -c $(ASM_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $<
screamer 0:66f3b5499f7f 99
screamer 0:66f3b5499f7f 100 .c.o:
screamer 13:ab47a20b66f0 101 +@$(call MAKEDIR,$(dir $@))
screamer 13:ab47a20b66f0 102 $(CC) $(CC_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $<
screamer 0:66f3b5499f7f 103
screamer 0:66f3b5499f7f 104 .cpp.o:
screamer 13:ab47a20b66f0 105 +@$(call MAKEDIR,$(dir $@))
screamer 13:ab47a20b66f0 106 $(CPP) $(CPPC_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $<
screamer 0:66f3b5499f7f 107
screamer 0:66f3b5499f7f 108
screamer 0:66f3b5499f7f 109 {% block target_project_elf %}
screamer 13:ab47a20b66f0 110 $(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS) $(LINKER_SCRIPT)
screamer 13:ab47a20b66f0 111 $(LD) $(LD_FLAGS) -T$(filter %.ld, $^) $(LIBRARY_PATHS) -o $@ $(filter %.o, $^) -Wl,--start-group $(LIBRARIES) $(LD_SYS_LIBS) -Wl,--end-group
screamer 0:66f3b5499f7f 112 {% endblock %}
screamer 0:66f3b5499f7f 113
screamer 0:66f3b5499f7f 114 $(PROJECT).bin: $(PROJECT).elf
screamer 0:66f3b5499f7f 115 $(OBJCOPY) -O binary $< $@
screamer 0:66f3b5499f7f 116
screamer 0:66f3b5499f7f 117 $(PROJECT).hex: $(PROJECT).elf
screamer 0:66f3b5499f7f 118 @$(OBJCOPY) -O ihex $< $@
screamer 0:66f3b5499f7f 119
screamer 0:66f3b5499f7f 120 $(PROJECT).lst: $(PROJECT).elf
screamer 0:66f3b5499f7f 121 @$(OBJDUMP) -Sdh $< > $@
screamer 0:66f3b5499f7f 122
screamer 0:66f3b5499f7f 123 lst: $(PROJECT).lst
screamer 0:66f3b5499f7f 124
screamer 0:66f3b5499f7f 125 size: $(PROJECT).elf
screamer 0:66f3b5499f7f 126 $(SIZE) $(PROJECT).elf
screamer 0:66f3b5499f7f 127
screamer 0:66f3b5499f7f 128 DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
screamer 0:66f3b5499f7f 129 -include $(DEPS)
screamer 0:66f3b5499f7f 130
screamer 0:66f3b5499f7f 131 {% block additional_targets %}{% endblock %}
screamer 13:ab47a20b66f0 132 endif
screamer 0:66f3b5499f7f 133