[U-Boot] [PATCH v2 13/35] Makefile: refactor include path settings
Masahiro Yamada
yamada.m at jp.panasonic.com
Wed Dec 18 07:17:31 CET 2013
This commit merges commonly-used header include paths
to UBOOTINCLUDE and NOSTDINC_FLAGS variables, which are placed
at the top Makefile.
Signed-off-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
---
Changes in v2: None
Makefile | 14 +++++++++++++-
config.mk | 11 ++---------
tools/Makefile | 8 +++-----
tools/env/Makefile | 4 +---
4 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/Makefile b/Makefile
index bf4f427..f29673a 100644
--- a/Makefile
+++ b/Makefile
@@ -226,6 +226,15 @@ CHECK = sparse
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
-Wbitwise -Wno-return-void -D__CHECK_ENDIAN__ $(CF)
+# Use UBOOTINCLUDE when you must reference the include/ directory.
+# Needed to be compatible with the O= option
+UBOOTINCLUDE :=
+ifneq ($(OBJTREE),$(SRCTREE))
+UBOOTINCLUDE += -I$(OBJTREE)/include
+endif
+UBOOTINCLUDE += -I$(srctree)/include \
+ -I$(srctree)/arch/$(ARCH)/include
+
KBUILD_CPPFLAGS := -D__KERNEL__
KBUILD_CFLAGS := -Wall -Wstrict-prototypes \
@@ -238,7 +247,7 @@ export CPP AR NM LDR STRIP OBJCOPY OBJDUMP
export MAKE AWK
export DTC CHECK CHECKFLAGS
-export KBUILD_CPPFLAGS
+export KBUILD_CPPFLAGS NOSTDINC_FLAGS UBOOTINCLUDE
export KBUILD_CFLAGS KBUILD_AFLAGS
KBUILD_CFLAGS += -Os #-fomit-frame-pointer
@@ -254,6 +263,9 @@ KBUILD_CFLAGS += -g
# option to the assembler.
KBUILD_AFLAGS += -g
+NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
+CHECKFLAGS += $(NOSTDINC_FLAGS)
+
# Report stack usage if supported
KBUILD_CFLAGS += $(call cc-option,-fstack-usage)
diff --git a/config.mk b/config.mk
index 04b63f6..f700ee1 100644
--- a/config.mk
+++ b/config.mk
@@ -94,8 +94,6 @@ RELFLAGS= $(PLATFORM_RELFLAGS)
OBJCFLAGS += --gap-fill=0xff
-gccincdir := $(shell $(CC) -print-file-name=include)
-
CPPFLAGS = $(KBUILD_CPPFLAGS) $(RELFLAGS)
# Enable garbage collection of un-used sections for SPL
@@ -123,13 +121,8 @@ Please undefined CONFIG_SYS_GENERIC_BOARD in your board config file)
endif
endif
-ifneq ($(OBJTREE),$(SRCTREE))
-CPPFLAGS += -I$(OBJTREE)/include
-endif
-
-CPPFLAGS += -I$(TOPDIR)/include -I$(SRCTREE)/arch/$(ARCH)/include
-CPPFLAGS += -nostdinc \
- -isystem $(gccincdir) -pipe $(PLATFORM_CPPFLAGS)
+CPPFLAGS += $(UBOOTINCLUDE)
+CPPFLAGS += $(NOSTDINC_FLAGS) -pipe $(PLATFORM_CPPFLAGS)
CFLAGS := $(KBUILD_CFLAGS) $(CPPFLAGS)
diff --git a/tools/Makefile b/tools/Makefile
index 6c2a29c..3c186ba 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -173,11 +173,9 @@ HOSTSRCS += $(addprefix $(SRCTREE)/lib/libfdt/,$(LIBFDT_OBJ_FILES-y:.o=.c))
# Define _GNU_SOURCE to obtain the getline prototype from stdio.h
#
HOST_EXTRACFLAGS += -include $(SRCTREE)/include/libfdt_env.h \
- -idirafter $(SRCTREE)/include \
- -idirafter $(SRCTREE)/arch/$(ARCH)/include \
- -idirafter $(OBJTREE)/include \
- -I $(SRCTREE)/lib/libfdt \
- -I $(SRCTREE)/tools \
+ $(patsubst -I%,-idirafter%, $(UBOOTINCLUDE)) \
+ -I$(SRCTREE)/lib/libfdt \
+ -I$(SRCTREE)/tools \
-DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE) \
-DUSE_HOSTCC \
-D__KERNEL_STRICT_NAMES \
diff --git a/tools/env/Makefile b/tools/env/Makefile
index c303815..d47fe16 100644
--- a/tools/env/Makefile
+++ b/tools/env/Makefile
@@ -6,9 +6,7 @@
#
# Compile for a hosted environment on the target
-HOST_EXTRACFLAGS = -idirafter $(SRCTREE)/include \
- -idirafter $(SRCTREE)/arch/$(ARCH)/include \
- -idirafter $(OBJTREE)/include \
+HOST_EXTRACFLAGS = $(patsubst -I%,-idirafter%, $(UBOOTINCLUDE)) \
-idirafter $(SRCTREE)/tools/env \
-DUSE_HOSTCC \
-DTEXT_BASE=$(TEXT_BASE)
--
1.8.3.2
More information about the U-Boot
mailing list