Hello, For example In file arch/arm/cpu/arm1136/mx31/timer.c, I see
#include <common.h> #include <init.h> #include <asm/arch/imx-regs.h> #include <asm/io.h> There are 13 files named common.h files and 4405 files doing '#include <common.h>'. I can guess what file it is including but can't figure out exactly how the default include path (-I cflag ) is set for each .c file. I know the top Makefile has this line. UBOOTINCLUDE := \ -Iinclude \ $(if $(KBUILD_SRC), -I$(srctree)/include) \ $(if $(CONFIG_$(SPL_)SYS_THUMB_BUILD), \ $(if $(CONFIG_HAS_THUMB2), \ $(if $(CONFIG_CPU_V7M), \ -I$(srctree)/arch/arm/thumb1/include), \ -I$(srctree)/arch/arm/thumb1/include)) \ -I$(srctree)/arch/$(ARCH)/include \ -include $(srctree)/include/linux/kconfig.h And some other lower Makefiles additively add -I option according to the configuration. But still can't figure it out. For example in the above arch/arm/cpu/arm1136/mx31/timer.c file, I guess the #include <asm/arch/imx-regs.h> Is including ./arch/arm/include/asm/arch-mx31/imx-regs.h. Could anyone explain it to me? Thank you! Chan Kim