From fea1ca8e3418bac4b55f4cc8b66a6ae0d41e91e4 Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Tue, 4 Feb 2014 17:24:20 +0900 Subject: [PATCH] Makefile: refactor include path settings 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 --- 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 3a97483..9c39022 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 c3cdaf0..21341b7 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -175,11 +175,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) -- 2.7.4