11#**********************************************************#
22#file makefile
33#author Rajmund Szymanski
4- #date 03.12.2019
4+ #date 16.01.2020
55#brief STM32F4xx makefile.
66#**********************************************************#
77
@@ -90,30 +90,17 @@ TXTS := $(OBJS:.o=.txt)
9090
9191#----------------------------------------------------------#
9292
93- COMMON_F = --target=arm-arm-none-eabi -mthumb
94- ifneq ($(MAKECMDGOALS),qemu)
95- COMMON_F += -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -ffast-math
96- else
97- COMMON_F += -mcpu=cortex-m3
98- endif
93+ COMMON_F = --target=arm-arm-none-eabi -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -ffast-math
94+ COMMON_F += -mfloat-abi=$(if $(filter qemu,$(MAKECMDGOALS)),soft,hard)
9995COMMON_F += -O$(OPTF) -ffunction-sections -fdata-sections
100- ifneq ($(filter USE_LTO,$(DEFS)),)
101- COMMON_F += -flto
102- endif
10396COMMON_F += -Wall -Wextra -Wshadow # -Wpedantic
10497COMMON_F += -MD -MP
105- ifneq ($(filter DEBUG,$(DEFS)),)
106- COMMON_F += --debug
107- endif
10898
10999AS_FLAGS =
110100C_FLAGS =
111- CXX_FLAGS = -fno-rtti -fno-exceptions # -Wzero-as-null-pointer-constant # -fno-use-cxa-atexit
101+ CXX_FLAGS = -fno-rtti -fno-exceptions # -fno-use-cxa-atexit - Wzero-as-null-pointer-constant
112102LD_FLAGS = --strict --scatter=$(SCRIPT) --symbols --list_mapping_symbols
113103LD_FLAGS += --map --info common,sizes,summarysizes,totals,veneers,unused --list=$(MAP) # --callgraph
114- ifneq ($(filter USE_LTO,$(DEFS)),)
115- LD_FLAGS += --lto
116- endif
117104
118105#----------------------------------------------------------#
119106
@@ -123,6 +110,13 @@ endif
123110ifneq ($(filter __MICROLIB,$(DEFS)),)
124111LD_FLAGS += --library_type=microlib
125112endif
113+ ifneq ($(filter USE_LTO,$(DEFS)),)
114+ COMMON_F += -flto
115+ LD_FLAGS += --lto
116+ endif
117+ ifneq ($(filter DEBUG,$(DEFS)),)
118+ COMMON_F += --debug
119+ endif
126120
127121#----------------------------------------------------------#
128122
@@ -145,7 +139,7 @@ INC_DIRS += $(CLANG)../../RV31/INC/
145139INC_DIRS_F := $(INC_DIRS:%=-I%)
146140LIB_DIRS += $(CLANG)../../RV31/LIB/
147141LIB_DIRS_F := --libpath=$(ARM_LIB)
148- LIB_DIRS_F += --userlibpath=$(call clist, $(LIB_DIRS))
142+ LIB_DIRS_F += --userlibpath=$(call clist,$(LIB_DIRS))
149143
150144LD_FLAGS += $(DEFS_F:%=--pd=%) $(INC_DIRS_F:%=--pd=%)
151145
@@ -221,11 +215,11 @@ $(LSS) : $(ELF)
221215 $(info Creating extended listing: $(LSS))
222216 $(DUMP) --demangle -S $< > $@
223217
224- print_size :
218+ print_size : $(OBJS_ALL)
225219 $(info Size of modules:)
226220 $(SIZE) -B -t --common $(OBJS_ALL)
227221
228- print_elf_size : # print_size
222+ print_elf_size : $(ELF)
229223 $(info Size of target file:)
230224 $(SIZE) -B $(ELF)
231225
0 commit comments