#if defined(CONFIG_SPL_BUILD)
.....
而这个宏在哪理被定义了呢?首先看spl文件夹下的Makefile
CONFIG_SPL_BUILD := y
export CONFIG_SPL_BUILD
这是定义了一个这样的变量,然后真正定义的地方在这理;在uboot源码树的根目录下config.mk中:
ifeq ($(CONFIG_SPL_BUILD),y)
CPPFLAGS += -DCONFIG_SPL_BUILD ## define the macro
endif
这个才是真正的定义了这个宏。然后在源码中使用该宏。