Define blocks for some common makefile variables.

pull/1159/head
Christian Taedcke 2015-06-05 13:54:42 +02:00
parent 143c3e6d28
commit 432264759a
5 changed files with 50 additions and 58 deletions

View File

@ -20,13 +20,12 @@ OBJDUMP = $(GCC_BIN)arm-none-eabi-objdump
SIZE = $(GCC_BIN)arm-none-eabi-size SIZE = $(GCC_BIN)arm-none-eabi-size
{% block flags %} {% block flags %}
CPU = -mcpu=cortex-m3 -mthumb CPU = {% block cpu %}-mcpu=cortex-m3 -mthumb{% endblock %}
CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections 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_FLAGS += -MMD -MP CC_SYMBOLS = {% block cc_symbols %}{% for s in symbols %}-D{{s}} {% endfor %}{% endblock %}
CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %}
LD_FLAGS = $(CPU) -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float 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 = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys LD_SYS_LIBS = {% block ld_sys_libs %}-lstdc++ -lsupc++ -lm -lc -lgcc -lnosys{% endblock %}
{% endblock %} {% endblock %}
ifeq ($(DEBUG), 1) ifeq ($(DEBUG), 1)
@ -36,12 +35,12 @@ else
endif endif
{% block target_all %} {% block target_all %}
all: $(PROJECT).bin all: $(PROJECT).bin $(PROJECT).hex size
{% endblock %} {% endblock %}
{% block target_clean %} {% block target_clean %}
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 %} {% endblock %}
.s.o: .s.o:
@ -51,7 +50,7 @@ clean:
$(CC) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu99 $(INCLUDE_PATHS) -o $@ $< $(CC) $(CC_FLAGS) $(CC_SYMBOLS) -std=gnu99 $(INCLUDE_PATHS) -o $@ $<
.cpp.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 %} {% block target_project_elf %}
@ -75,3 +74,4 @@ size:
DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d) DEPS = $(OBJECTS:.o=.d) $(SYS_OBJECTS:.o=.d)
-include $(DEPS) -include $(DEPS)

View File

@ -1,23 +1,11 @@
{% extends "gcc_arm_common.tmpl" %} {% 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 %} {% block flags %}
CPU = -mcpu=cortex-m0 -mthumb {{ super() }}
CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections #LD_FLAGS += -u _printf_float -u _scanf_float
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)
{% endblock %} {% endblock %}
{% block target_project_elf %} {% block target_project_elf %}
@ -28,5 +16,3 @@ clean:
@echo "*****" @echo "*****"
@echo "" @echo ""
{% endblock %} {% endblock %}

View File

@ -1,11 +1,11 @@
{% extends "gcc_arm_common.tmpl" %} {% extends "gcc_arm_common.tmpl" %}
{% block flags %} {% block target_project_elf %}
CPU = -mcpu=cortex-m3 -mthumb {{ super() }}
CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections @echo ""
CC_FLAGS += -MMD -MP @echo "*****"
CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %} @echo "***** You must modify vector checksum value in *.bin and *.hex files."
@echo "*****"
LD_FLAGS = -mcpu=cortex-m3 -mthumb -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float @echo ""
LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys $(SIZE) $@
{% endblock %} {% endblock %}

View File

@ -1,10 +1,23 @@
{% extends "gcc_arm_common.tmpl" %} {% extends "gcc_arm_common.tmpl" %}
{% block flags %} {% block cpu %}-mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=$(FLOAT_ABI){% endblock %}
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 %}
LD_FLAGS = -mcpu=cortex-m4 -mthumb -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float {% block flags %}
LD_SYS_LIBS = -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys ifeq ($(HARDFP),1)
FLOAT_ABI = hard
else
FLOAT_ABI = softfp
endif
{{ super() }}
{% endblock %} {% endblock %}
{% block target_project_elf %}
{{ super() }}
@echo ""
@echo "*****"
@echo "***** You must modify vector checksum value in *.bin and *.hex files."
@echo "*****"
@echo ""
$(SIZE) $@
{% endblock %}

View File

@ -1,20 +1,13 @@
{% extends "gcc_arm_common.tmpl" %} {% extends "gcc_arm_common.tmpl" %}
{% block cpu %}-mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=$(FLOAT_ABI){% endblock %}
{% block flags %} {% block flags %}
CPU = -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp ifeq ($(HARDFP),1)
CC_FLAGS = $(CPU) -c -g -fno-common -fmessage-length=0 -Wall -fno-exceptions -ffunction-sections -fdata-sections FLOAT_ABI = hard
CC_SYMBOLS = {% for s in symbols %}-D{{s}} {% endfor %} else
FLOAT_ABI = softfp
endif
LD_FLAGS = -mcpu=cortex-m4 -mthumb -Wl,--gc-sections --specs=nano.specs -u _printf_float -u _scanf_float {{ super() }}
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)
{% endblock %} {% endblock %}