Clone of official tools
Diff: export/gcc_arm_common.tmpl
- Revision:
- 35:da9c89f8be7d
- Parent:
- 34:42f20e28adf5
- Child:
- 36:96847d42f010
--- a/export/gcc_arm_common.tmpl Mon Feb 13 09:29:13 2017 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ -# This file was automagically generated by mbed.org. For more information, -# see http://mbed.org/handbook/Exporting-to-GCC-ARM-Embedded - -# cross-platform directory manipulation -ifeq ($(shell echo $$OS),$$OS) - MAKEDIR = if not exist "$(1)" mkdir "$(1)" - RM = rmdir /S /Q "$(1)" -else - MAKEDIR = $(SHELL) -c "mkdir -p \"$(1)\"" - RM = $(SHELL) -c "rm -rf \"$(1)\"" -endif - -ifeq (,$(filter .build,$(notdir $(CURDIR)))) -.SUFFIXES: -OBJDIR := .build -mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) -MAKETARGET = $(MAKE) --no-print-directory -C $(OBJDIR) -f $(mkfile_path) \ - SRCDIR=$(CURDIR) $(MAKECMDGOALS) -.PHONY: $(OBJDIR) clean -all: - +@$(call MAKEDIR,$(OBJDIR)) - +@$(MAKETARGET) -$(OBJDIR): all -Makefile : ; -% :: $(OBJDIR) ; : -clean : - $(call RM,$(OBJDIR)) -{% block target_clean -%} -{% endblock %} -else - -VPATH = {% for path in vpath %}{{path}} {% endfor %} - -GCC_BIN = -PROJECT = {{name}} -OBJECTS = {% for f in to_be_compiled %}{{f}} {% endfor %} -SYS_OBJECTS = {% for f in object_files %}{{f}} {% endfor %} -INCLUDE_PATHS = {% for p in include_paths %}-I{{p}} {% endfor %} -LIBRARY_PATHS = {% for p in library_paths %}-L{{p}} {% endfor %} -LIBRARIES = {% for lib in libraries %}-l{{lib}} {% endfor %} -LINKER_SCRIPT = {{linker_script}} -{%- block additional_variables -%}{% endblock %} - -############################################################################### -AS = $(GCC_BIN)arm-none-eabi-as -CC = $(GCC_BIN)arm-none-eabi-gcc -CPP = $(GCC_BIN)arm-none-eabi-g++ -LD = $(GCC_BIN)arm-none-eabi-gcc -OBJCOPY = $(GCC_BIN)arm-none-eabi-objcopy -OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump -SIZE = $(GCC_BIN)arm-none-eabi-size -{%- block additional_executables -%}{% endblock %} - -{%- block flags -%} - -{% block hardfp %} -{% if "-mfloat-abi=softfp" in cpu_flags %} -ifeq ($(HARDFP),1) - FLOAT_ABI = hard -else - FLOAT_ABI = softfp -endif -{% endif %} -{%- endblock %} - -CPU = {% block cpu %}{% for cf in cpu_flags %}{{cf|replace("-mfloat-abi=softfp","-mfloat-abi=$(FLOAT_ABI)")}} {% endfor %}{% endblock %} -CC_FLAGS = {% block cc_flags %}{{common_flags|join(" ")}} {{c_flags|join(" ")}} -MMD -MP{% endblock %} -CPPC_FLAGS = {% block cppc_flags %}{{common_flags|join(" ")}} {{cxx_flags|join(" ")}} -MMD -MP{% endblock %} -ASM_FLAGS = {% block asm_flags %}{{asm_flags|join(" ")}} {{common_flags|join(" ")}}{% endblock %} -CC_SYMBOLS = {% block cc_symbols %}{% for s in symbols %}-D{{s}} {% endfor %}{% endblock %} - -LD_FLAGS = {%- block ld_flags -%} {{ld_flags|join(" ")}} {% endblock %} -LD_SYS_LIBS = {% block ld_sys_libs %}-lstdc++ -lsupc++ -lm -lc -lgcc -lnosys{% endblock %} -{% endblock %} - -ifeq ($(DEBUG), 1) - CC_FLAGS += -DDEBUG -O0 -else - CC_FLAGS += -DNDEBUG -Os -endif - - -.PHONY: all lst size - -{% block target_all -%} -all: $(PROJECT).bin $(PROJECT).hex size -{% endblock %} - - -.asm.o: - +@$(call MAKEDIR,$(dir $@)) - $(CC) $(CPU) -c $(ASM_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $< -.s.o: - +@$(call MAKEDIR,$(dir $@)) - $(CC) $(CPU) -c $(ASM_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $< -.S.o: - +@$(call MAKEDIR,$(dir $@)) - $(CC) $(CPU) -c $(ASM_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $< - -.c.o: - +@$(call MAKEDIR,$(dir $@)) - $(CC) $(CC_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $< - -.cpp.o: - +@$(call MAKEDIR,$(dir $@)) - $(CPP) $(CPPC_FLAGS) $(CC_SYMBOLS) $(INCLUDE_PATHS) -o $@ $< - - -{% block target_project_elf %} -$(PROJECT).elf: $(OBJECTS) $(SYS_OBJECTS) $(LINKER_SCRIPT) - $(LD) $(LD_FLAGS) -T$(filter %.ld, $^) $(LIBRARY_PATHS) -o $@ $(filter %.o, $^) -Wl,--start-group $(LIBRARIES) $(LD_SYS_LIBS) -Wl,--end-group -{% endblock %} - -$(PROJECT).bin: $(PROJECT).elf - $(OBJCOPY) -O binary $< $@ - -$(PROJECT).hex: $(PROJECT).elf - @$(OBJCOPY) -O ihex $< $@ - -$(PROJECT).lst: $(PROJECT).elf - @$(OBJDUMP) -Sdh $< > $@ - -lst: $(PROJECT).lst - -size: $(PROJECT).elf - $(SIZE) $(PROJECT).elf - -DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d) --include $(DEPS) - -{% block additional_targets %}{% endblock %} -endif -