b88561299b
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> |
||
---|---|---|
.. | ||
configs/nsh | ||
include | ||
scripts | ||
src | ||
Kconfig | ||
README.txt |
Teensy LC README ================ This is the README file for NuttX on the PJRC Teensy LC. The Teensy LC is a DIP style breakout board for the MKL25Z64 and comes with a USB based bootloader. Contributed by Michael Hope. Development Environment ======================= All testing was done with the GNU ARM Embedded 4.9 toolchain on Linux. See https://developer.arm.com/open-source/gnu-toolchain/gnu-rm to download. Once you've configured and built NuttX, flash the resulting nuttx.hex file to the board using the Teensy Loader Application. LEDs ==== The Teensy LC has a single LED. If CONFIG_ARCH_LEDS is defined, then NuttX will update the LED as the board boots. The summary is: * LED off: board booting * LED on: initial stack created * LED flashing: panic. See `include/board.h` for details. Serial Console ============== The serial console is mapped to UART0 and appears on pins 0 (RX) and 1 (TX). Consider using a 3.3 V USB to serial adapter such as the Sparkfun #9717 FTDI cable.