nuttx/boards/arm/stm32
chao.an b88561299b make/expression: improving up asm/C/C++ compile times
In the current compilation environment, the recursive assignment(=) for compile
flags will be delayed until every file is actually need to be compile.

For example:
--------------------------------------------------------------------------------
arch/arm/src/Makefile:

INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)chip}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)common}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)$(ARCH_SUBDIR)}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)sched}

CPPFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CXXFLAGS += $(INCLUDES) $(EXTRAFLAGS)
AFLAGS += $(INCLUDES) $(EXTRAFLAGS)
--------------------------------------------------------------------------------

All compilation options will be included recursively,
which will be delayed until the compilation options are actually used:

tools/Config.mk:

--------------------------------------------------------------------------------
define COMPILE
  @echo "CC: $1"
  $(Q) $(CC) -c $(CFLAGS) $($(strip $1)_CFLAGS) $1 -o $2
endef
--------------------------------------------------------------------------------

All compile flags to be reexecuted $(INCDIR) as long as one file needs to be compiled,
but in fact, the compilation options have not changed in the current directory.

So the we recommand to change the syntax of assignment
From
    Recursive (=)
To
    Simple    (:=)

In this way, we can ensure that all compilation options are expanded only once and reducing repeated works.

Signed-off-by: chao.an <anchao@xiaomi.com>
2020-11-02 07:53:53 -08:00
..
axoloti make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
b-g474e-dpow1 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
clicker2-stm32 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
cloudctrl make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
common
fire-stm32v2 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
hymini-stm32v make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
maple make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
mikroe-stm32f4 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f4x1re make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f103rb make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f207zg make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f302r8 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f303re make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f303ze make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f334r8 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f410rb make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f412zg make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f429zi make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-f446re make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nucleo-l152re make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
olimex-stm32-e407 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
olimex-stm32-h405 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
olimex-stm32-h407 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
olimex-stm32-p107 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
olimex-stm32-p207 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
olimex-stm32-p407 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
olimexino-stm32 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
omnibusf4 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
photon make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
shenzhou make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32_tiny make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32butterfly2 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32f3discovery make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32f4discovery make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32f103-minimum make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32f334-disco make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32f411-minimum make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32f411e-disco make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32f429i-disco make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32ldiscovery make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32vldiscovery make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm3210e-eval make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm3220g-eval make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm3240g-eval make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
viewtool-stm32f107 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00