From 432264759aafd8f4d7d9eb17b69aec0976c64b1a Mon Sep 17 00:00:00 2001 From: Christian Taedcke Date: Fri, 5 Jun 2015 13:54:42 +0200 Subject: [PATCH] Define blocks for some common makefile variables. --- workspace_tools/export/gcc_arm_common.tmpl | 18 ++++++------- workspace_tools/export/gcc_arm_lpc1114.tmpl | 24 ++++-------------- workspace_tools/export/gcc_arm_lpc1768.tmpl | 18 ++++++------- workspace_tools/export/gcc_arm_lpc4088.tmpl | 25 ++++++++++++++----- workspace_tools/export/gcc_arm_stm32f407.tmpl | 23 ++++++----------- 5 files changed, 50 insertions(+), 58 deletions(-) diff --git a/workspace_tools/export/gcc_arm_common.tmpl b/workspace_tools/export/gcc_arm_common.tmpl index 81944e4a5e..69750d1c25 100644 --- a/workspace_tools/export/gcc_arm_common.tmpl +++ b/workspace_tools/export/gcc_arm_common.tmpl @@ -20,13 +20,12 @@ OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump SIZE = $(GCC_BIN)arm-none-eabi-size {% block flags %} -CPU = -mcpu=cortex-m3 -mthumb -CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -CC_FLAGS += -MMD -MP -CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %} +CPU = {% block cpu %}-mcpu=cortex-m3 -mthumb{% endblock %} +CC_FLAGS = {% block cc_flags %}$(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -fomit-frame-pointer -MMD -MP{% endblock %} +CC_SYMBOLS = {% block cc_symbols %}{% for s in symbols %}-D{{s}} {% endfor %}{% endblock %} -LD_FLAGS = $(CPU) -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float -LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys +LD_FLAGS = {% block ld_flags %}$(CPU) -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float -Wl,--wrap,main -Wl,-Map=$(PROJECT).map,--cref{% endblock %} +LD_SYS_LIBS = {% block ld_sys_libs %}-lstdc++ -lsupc++ -lm -lc -lgcc -lnosys{% endblock %} {% endblock %} ifeq ($(DEBUG), 1) @@ -36,12 +35,12 @@ else endif {% block target_all %} -all: $(PROJECT).bin +all: $(PROJECT).bin $(PROJECT).hex size {% endblock %} {% block target_clean %} clean: - rm -f $(PROJECT).bin $(PROJECT).elf $(OBJECTS) $(DEPS) + rm -f $(PROJECT).bin $(PROJECT).elf $(PROJECT).hex $(PROJECT).map $(PROJECT).lst $(OBJECTS) $(DEPS) {% endblock %} .s.o: @@ -51,7 +50,7 @@ clean: $(CC) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu99 $(INCLUDE_PATHS) -o $@ $< .cpp.o: - $(CPP) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu++98 $(INCLUDE_PATHS) -o $@ $< + $(CPP) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu++98 -fno-rtti $(INCLUDE_PATHS) -o $@ $< {% block target_project_elf %} @@ -75,3 +74,4 @@ size: DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d) -include $(DEPS) + diff --git a/workspace_tools/export/gcc_arm_lpc1114.tmpl b/workspace_tools/export/gcc_arm_lpc1114.tmpl index 934f734ed6..ea49f2cc2a 100644 --- a/workspace_tools/export/gcc_arm_lpc1114.tmpl +++ b/workspace_tools/export/gcc_arm_lpc1114.tmpl @@ -1,23 +1,11 @@ {% extends "gcc_arm_common.tmpl" %} +{% block cpu %}-mcpu=cortex-m0 -mthumb{% endblock %} +{% block ld_flags %}$(CPU) -Wl,--gc-sections --specs=nano.specs -Wl,--wrap,main{% endblock %} + {% block flags %} -CPU = -mcpu=cortex-m0 -mthumb -CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -CC_FLAGS += -MMD -MP -CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %} - -LD_FLAGS = -mcpu=cortex-m0 -mthumb -Wl,--gc-sections --specs=nano.specs -LD_FLAGS += -Wl,-Map=$(PROJECT).map,--cref -LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys -{% endblock %} - -{% block target_all %} -all: $(PROJECT).bin $(PROJECT).hex size -{% endblock %} - -{% block target_clean %} -clean: - rm -f $(PROJECT).bin $(PROJECT).elf $(PROJECT).hex $(PROJECT).map $(PROJECT).lst $(OBJECTS) $(DEPS) +{{ super() }} +#LD_FLAGS += -u _printf_float -u _scanf_float {% endblock %} {% block target_project_elf %} @@ -28,5 +16,3 @@ clean: @echo "*****" @echo "" {% endblock %} - - diff --git a/workspace_tools/export/gcc_arm_lpc1768.tmpl b/workspace_tools/export/gcc_arm_lpc1768.tmpl index 992d09d791..bd33bff1d6 100644 --- a/workspace_tools/export/gcc_arm_lpc1768.tmpl +++ b/workspace_tools/export/gcc_arm_lpc1768.tmpl @@ -1,11 +1,11 @@ {% extends "gcc_arm_common.tmpl" %} -{% block flags %} -CPU = -mcpu=cortex-m3 -mthumb -CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -CC_FLAGS += -MMD -MP -CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %} - -LD_FLAGS = -mcpu=cortex-m3 -mthumb -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float -LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys -{% endblock %} +{% block target_project_elf %} +{{ super() }} + @echo "" + @echo "*****" + @echo "***** You must modify vector checksum value in *.bin and *.hex files." + @echo "*****" + @echo "" + $(SIZE) $@ +{% endblock %} \ No newline at end of file diff --git a/workspace_tools/export/gcc_arm_lpc4088.tmpl b/workspace_tools/export/gcc_arm_lpc4088.tmpl index 8888ae42d3..9b89d10427 100644 --- a/workspace_tools/export/gcc_arm_lpc4088.tmpl +++ b/workspace_tools/export/gcc_arm_lpc4088.tmpl @@ -1,10 +1,23 @@ {% extends "gcc_arm_common.tmpl" %} -{% block flags %} -CPU = -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %} +{% block cpu %}-mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=$(FLOAT_ABI){% endblock %} -LD_FLAGS = -mcpu=cortex-m4 -mthumb -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float -LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys +{% block flags %} +ifeq ($(HARDFP),1) + FLOAT_ABI = hard +else + FLOAT_ABI = softfp +endif + +{{ super() }} {% endblock %} + +{% block target_project_elf %} +{{ super() }} + @echo "" + @echo "*****" + @echo "***** You must modify vector checksum value in *.bin and *.hex files." + @echo "*****" + @echo "" + $(SIZE) $@ +{% endblock %} \ No newline at end of file diff --git a/workspace_tools/export/gcc_arm_stm32f407.tmpl b/workspace_tools/export/gcc_arm_stm32f407.tmpl index 7fcf58dcba..82842693a1 100644 --- a/workspace_tools/export/gcc_arm_stm32f407.tmpl +++ b/workspace_tools/export/gcc_arm_stm32f407.tmpl @@ -1,20 +1,13 @@ {% extends "gcc_arm_common.tmpl" %} +{% block cpu %}-mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=$(FLOAT_ABI){% endblock %} + {% block flags %} -CPU = -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections -CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %} +ifeq ($(HARDFP),1) + FLOAT_ABI = hard +else + FLOAT_ABI = softfp +endif -LD_FLAGS = -mcpu=cortex-m4 -mthumb -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float -LD_FLAGS += -Wl,-Map=$(PROJECT).map,--cref -LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys -{% endblock %} - -{% block target_all %} -all: $(PROJECT).bin $(PROJECT).hex size -{% endblock %} - -{% block target_clean %} -clean: - rm -f $(PROJECT).bin $(PROJECT).elf $(PROJECT).hex $(PROJECT).map $(PROJECT).lst $(OBJECTS) $(DEPS) +{{ super() }} {% endblock %}