Skip to content

Commit 61a37cf

Browse files
committed
updated makefiles for parallel execution
1 parent 9c439b4 commit 61a37cf

5 files changed

Lines changed: 65 additions & 72 deletions

File tree

makefile.armcc

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#**********************************************************#
22
#file makefile
33
#author Rajmund Szymanski
4-
#date 03.12.2019
4+
#date 16.01.2020
55
#brief STM32F4xx makefile.
66
#**********************************************************#
77

@@ -92,15 +92,9 @@ TXTS := $(OBJS:.o=.txt)
9292

9393
#----------------------------------------------------------#
9494

95-
ifneq ($(MAKECMDGOALS),qemu)
96-
CORE_F := --cpu=cortex-m4.fp --apcs=/hardfp/interwork
97-
else
98-
CORE_F := --cpu=cortex-m4
99-
endif
100-
COMMON_F = --md --depend=$(@:.o=.d) # --feedback=$(FED)
101-
ifneq ($(filter DEBUG,$(DEFS)),)
102-
COMMON_F += --debug
103-
endif
95+
COMMON_F = --thumb --cpu=cortex-m4.fp.sp
96+
COMMON_F += $(if $(filter qemu,$(MAKECMDGOALS)),--fpu=softvfp,)
97+
COMMON_F += --md --depend=$(@:.o=.d) # --feedback=$(FED)
10498

10599
OPTIM_F := -O$(OPTF) --split_sections --interleave
106100

@@ -118,6 +112,9 @@ endif
118112
ifneq ($(filter __MICROLIB,$(DEFS)),)
119113
LD_FLAGS += --library_type=microlib
120114
endif
115+
ifneq ($(filter DEBUG,$(DEFS)),)
116+
COMMON_F += --debug
117+
endif
121118

122119
#----------------------------------------------------------#
123120

@@ -146,10 +143,9 @@ AS_FLAGS += # $(foreach d,$(DEFS),$(if $(findstring =,$d),--pd="$(subst =, SET
146143
AS_FLAGS += --cpreproc --cpreproc_opts=$(call clist,$(DEFS_F) $(INC_DIRS_F))
147144
LD_FLAGS += $(DEFS_F:%=--pd=%) $(INC_DIRS_F:%=--pd=%)
148145

149-
AS_FLAGS += $(CORE_F) $(COMMON_F)
150-
C_FLAGS += $(CORE_F) $(COMMON_F) $(DEFS_F) $(INC_DIRS_F) $(OPTIM_F)
151-
CXX_FLAGS += $(CORE_F) $(COMMON_F) $(DEFS_F) $(INC_DIRS_F) $(OPTIM_F)
152-
LD_FLAGS += $(CORE_F)
146+
AS_FLAGS += $(COMMON_F)
147+
C_FLAGS += $(COMMON_F) $(DEFS_F) $(INC_DIRS_F) $(OPTIM_F)
148+
CXX_FLAGS += $(COMMON_F) $(DEFS_F) $(INC_DIRS_F) $(OPTIM_F)
153149

154150
#----------------------------------------------------------#
155151

@@ -219,11 +215,11 @@ $(LSS) : $(ELF)
219215
$(info Creating extended listing: $(LSS))
220216
$(DUMP) $< --text -c -z --output $@
221217

222-
print_size :
218+
print_size : $(OBJS_ALL)
223219
$(info Size of modules:)
224220
$(SIZE) -B -t --common $(OBJS_ALL)
225221

226-
print_elf_size : # print_size
222+
print_elf_size : $(ELF)
227223
$(info Size of target file:)
228224
$(SIZE) -B $(ELF)
229225

makefile.clang

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
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)
9995
COMMON_F += -O$(OPTF) -ffunction-sections -fdata-sections
100-
ifneq ($(filter USE_LTO,$(DEFS)),)
101-
COMMON_F += -flto
102-
endif
10396
COMMON_F += -Wall -Wextra -Wshadow # -Wpedantic
10497
COMMON_F += -MD -MP
105-
ifneq ($(filter DEBUG,$(DEFS)),)
106-
COMMON_F += --debug
107-
endif
10898

10999
AS_FLAGS =
110100
C_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
112102
LD_FLAGS = --strict --scatter=$(SCRIPT) --symbols --list_mapping_symbols
113103
LD_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
123110
ifneq ($(filter __MICROLIB,$(DEFS)),)
124111
LD_FLAGS += --library_type=microlib
125112
endif
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/
145139
INC_DIRS_F := $(INC_DIRS:%=-I%)
146140
LIB_DIRS += $(CLANG)../../RV31/LIB/
147141
LIB_DIRS_F := --libpath=$(ARM_LIB)
148-
LIB_DIRS_F += --userlibpath=$(call clist, $(LIB_DIRS))
142+
LIB_DIRS_F += --userlibpath=$(call clist,$(LIB_DIRS))
149143

150144
LD_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

makefile.csmcc

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#**********************************************************#
22
#file makefile
33
#author Rajmund Szymanski
4-
#date 03.12.2019
4+
#date 16.01.2020
55
#brief STM32F4xx makefile.
66
#**********************************************************#
77

@@ -93,17 +93,16 @@ TXTS := $(OBJS:.o=.la)
9393

9494
#----------------------------------------------------------#
9595

96-
AS_FLAGS := #-ax
97-
AS_FLAGS += -l -ep
98-
C_FLAGS := #+strict +warn
99-
C_FLAGS += +$(MODEL) -pc99 -l -pad
100-
ifneq ($(MAKECMDGOALS),qemu)
101-
C_FLAGS += +fpu
102-
endif
96+
AS_FLAGS := -l -ep #-ax
97+
C_FLAGS := +$(MODEL) -pc99 -l -pad # +warn # +strict
98+
C_FLAGS += $(if $(filter qemu,$(MAKECMDGOALS)),,+fpu)
99+
LD_FLAGS := -m $(MAP) -p
100+
101+
#----------------------------------------------------------#
102+
103103
ifneq ($(filter DEBUG,$(DEFS)),)
104104
C_FLAGS += +debug
105105
endif
106-
LD_FLAGS := -m $(MAP) -p
107106

108107
#----------------------------------------------------------#
109108

@@ -185,7 +184,7 @@ $(HEX) : $(CXM)
185184
$(info Creating HEX image: $(HEX))
186185
$(DUMP) -o $@ $<
187186

188-
print_elf_size :
187+
print_elf_size : $(ELF)
189188
$(info Size of target file:)
190189
$(SIZE) -B $(ELF)
191190

makefile.gnucc

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#**********************************************************#
22
#file makefile
33
#author Rajmund Szymanski
4-
#date 03.12.2019
4+
#date 16.01.2020
55
#brief STM32F4xx makefile.
66
#**********************************************************#
77

@@ -88,22 +88,12 @@ LSTS := $(OBJS:.o=.lst)
8888

8989
#----------------------------------------------------------#
9090

91-
COMMON_F = -mthumb
92-
ifneq ($(MAKECMDGOALS),qemu)
93-
COMMON_F += -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -ffast-math
94-
else
95-
COMMON_F += -mcpu=cortex-m4
96-
endif
91+
COMMON_F = -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -ffast-math
92+
COMMON_F += -mfloat-abi=$(if $(filter qemu,$(MAKECMDGOALS)),soft,hard)
9793
COMMON_F += -O$(OPTF) -ffunction-sections -fdata-sections
98-
ifneq ($(filter USE_LTO,$(DEFS)),)
99-
COMMON_F += -flto
100-
endif
10194
COMMON_F += -Wall -Wextra -Wshadow -Wpedantic
10295
COMMON_F += -MD -MP
10396
COMMON_F += # -Wa,-amhls=$(@:.o=.lst)
104-
ifneq ($(filter DEBUG,$(DEFS)),)
105-
COMMON_F += -g -ggdb
106-
endif
10797

10898
AS_FLAGS =
10999
C_FLAGS =
@@ -135,6 +125,12 @@ endif
135125
ifneq ($(filter USE_SEMIHOST,$(DEFS)),)
136126
LD_FLAGS += --specs=rdimon.specs
137127
endif
128+
ifneq ($(filter USE_LTO,$(DEFS)),)
129+
COMMON_F += -flto
130+
endif
131+
ifneq ($(filter DEBUG,$(DEFS)),)
132+
COMMON_F += -g -ggdb
133+
endif
138134

139135
#----------------------------------------------------------#
140136

@@ -219,11 +215,11 @@ $(LSS) : $(ELF)
219215
$(info Creating extended listing: $(LSS))
220216
$(DUMP) --demangle -S $< > $@
221217

222-
print_size :
218+
print_size : $(OBJS_ALL)
223219
$(info Size of modules:)
224220
$(SIZE) -B -t --common $(OBJS_ALL)
225221

226-
print_elf_size : # print_size
222+
print_elf_size : $(ELF)
227223
$(info Size of target file:)
228224
$(SIZE) -B $(ELF)
229225

makefile.iarcc

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#**********************************************************#
22
#file makefile
33
#author Rajmund Szymanski
4-
#date 03.12.2019
4+
#date 16.01.2020
55
#brief STM32F4xx makefile.
66
#**********************************************************#
77

@@ -88,19 +88,15 @@ LSTS := $(OBJS:.o=.lst)
8888

8989
#----------------------------------------------------------#
9090

91-
ifneq ($(MAKECMDGOALS),qemu)
92-
CORE_F := --cpu Cortex-M4 --fpu VFPv4_sp
93-
else
94-
CORE_F := --cpu Cortex-M4
95-
endif
91+
CORE_F := --cpu=cortex-m4.fp.sp
92+
CORE_F += $(if $(filter qemu,$(MAKECMDGOALS)),--fpu=soft,)
93+
9694
COMMON_F = --thumb -O$(OPTF) -e --dependencies=m $*.d
95+
9796
AS_FLAGS = -S -s+ -w+
9897
C_FLAGS = --silent
9998
CXX_FLAGS = --silent --enable_restrict --c++ --no_rtti --no_exceptions
10099
LD_FLAGS = --silent --config $(SCRIPT) --map $(MAP) --no_exceptions
101-
ifneq ($(filter USE_SEMIHOST,$(DEFS)),)
102-
LD_FLAGS += --semihosting
103-
endif
104100
ifneq ($(filter main_stack_size%,$(DEFS)),)
105101
LD_FLAGS += --config_def $(filter main_stack_size%,$(DEFS))
106102
endif
@@ -110,6 +106,18 @@ endif
110106

111107
#----------------------------------------------------------#
112108

109+
ifneq ($(strip $(CXX_SRCS)),)
110+
DEFS += __USES_CXX
111+
endif
112+
ifneq ($(filter USE_SEMIHOST,$(DEFS)),)
113+
LD_FLAGS += --semihosting
114+
endif
115+
ifneq ($(filter DEBUG,$(DEFS)),)
116+
COMMON_F += --debug
117+
endif
118+
119+
#----------------------------------------------------------#
120+
113121
DEFS_F := $(DEFS:%=-D%)
114122
LIBS += $(LIB_SRCS:lib%.a=%)
115123
LIBS_F := $(LIBS:%=-l%)
@@ -193,11 +201,11 @@ $(LSS) : $(ELF)
193201
$(info Creating extended listing: $(LSS))
194202
$(DUMP) --demangle -S $< > $@
195203

196-
print_size :
204+
print_size : $(OBJS_ALL)
197205
$(info Size of modules:)
198206
$(SIZE) -B -t --common $(OBJS_ALL)
199207

200-
print_elf_size : # print_size
208+
print_elf_size : $(ELF)
201209
$(info Size of target file:)
202210
$(SIZE) -B $(ELF)
203211

0 commit comments

Comments
 (0)