incubator-nuttx/arch/z80/src
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
..
common arch: Initialize idle thread stack information 2020-09-16 06:57:29 -07:00
ez80 Fix nxstyle warnings 2020-09-28 13:54:43 +08:00
z8 Fix nxstyle warnings 2020-09-28 13:54:43 +08:00
z80 Fix nxstyle warnings 2020-09-28 13:54:43 +08:00
z180 Fix nxstyle warnings 2020-09-28 13:54:43 +08:00
.gitignore build: Remve the unnecessary .gitignore 2020-05-23 18:00:40 +01:00
Makefile arch/: Add the ARCH_SRC directory to the context and clean_context 2020-10-17 22:46:27 +09:00
Makefile.sdccl arch/: Add the ARCH_SRC directory to the context and clean_context 2020-10-17 22:46:27 +09:00
Makefile.sdccw arch/: Add the ARCH_SRC directory to the context and clean_context 2020-10-17 22:46:27 +09:00
Makefile.zdsiil make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00
Makefile.zdsiiw make/expression: improving up asm/C/C++ compile times 2020-11-02 07:53:53 -08:00