nuttx/boards/arm
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
..
a1x/pcduino-a10 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
am335x/beaglebone-black make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
c5471/c5471evm make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
cxd56xx make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
dm320/ntosd-dm320 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
efm32 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
eoss3/quickfeather make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
imx6/sabre-6quad make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
imxrt make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
kinetis make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
kl make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
lc823450/lc823450-xgevk make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
lpc17xx_40xx make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
lpc31xx make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
lpc43xx make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
lpc54xx/lpcxpresso-lpc54628 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
lpc214x make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
lpc2378/olimex-lpc2378 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
max326xx/max32660-evsys make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
moxart/moxa make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nrf52 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
nuc1xx/nutiny-nuc120 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
s32k1xx make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
sam34 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
sama5 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
samd2l2 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
samd5e5 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
samv7 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32f0l0g0 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32f7 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32h7 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
stm32l4 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
str71x/olimex-strp711 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
tiva make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
tms570 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
xmc4 make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00