summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/Kbuild.include8
-rw-r--r--scripts/Makefile.host12
-rw-r--r--scripts/Makefile.lib26
3 files changed, 13 insertions, 33 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 7484b9d8272f..a675ce11a573 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -192,14 +192,6 @@ clean := -f $(srctree)/scripts/Makefile.clean obj
192# $(Q)$(MAKE) $(hdr-inst)=dir 192# $(Q)$(MAKE) $(hdr-inst)=dir
193hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj 193hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj
194 194
195# Prefix -I with $(srctree) if it is not an absolute path.
196# skip if -I has no parameter
197addtree = $(if $(patsubst -I%,%,$(1)), \
198$(if $(filter-out -I/% -I./% -I../%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1)),$(1)),$(1))
199
200# Find all -I options and call addtree
201flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o)))
202
203# echo command. 195# echo command.
204# Short version is used, if $(quiet) equals `quiet_', otherwise full one. 196# Short version is used, if $(quiet) equals `quiet_', otherwise full one.
205echo-cmd = $(if $($(quiet)cmd_$(1)),\ 197echo-cmd = $(if $($(quiet)cmd_$(1)),\
diff --git a/scripts/Makefile.host b/scripts/Makefile.host
index 73b804197fca..b6a54bdf0965 100644
--- a/scripts/Makefile.host
+++ b/scripts/Makefile.host
@@ -67,18 +67,16 @@ _hostc_flags = $(KBUILD_HOSTCFLAGS) $(HOST_EXTRACFLAGS) \
67_hostcxx_flags = $(KBUILD_HOSTCXXFLAGS) $(HOST_EXTRACXXFLAGS) \ 67_hostcxx_flags = $(KBUILD_HOSTCXXFLAGS) $(HOST_EXTRACXXFLAGS) \
68 $(HOSTCXXFLAGS_$(basetarget).o) 68 $(HOSTCXXFLAGS_$(basetarget).o)
69 69
70__hostc_flags = $(_hostc_flags) 70# $(objtree)/$(obj) for including generated headers from checkin source files
71__hostcxx_flags = $(_hostcxx_flags)
72
73ifeq ($(KBUILD_EXTMOD),) 71ifeq ($(KBUILD_EXTMOD),)
74ifneq ($(srctree),.) 72ifneq ($(srctree),.)
75__hostc_flags = -I$(obj) $(call flags,_hostc_flags) 73_hostc_flags += -I $(objtree)/$(obj)
76__hostcxx_flags = -I$(obj) $(call flags,_hostcxx_flags) 74_hostcxx_flags += -I $(objtree)/$(obj)
77endif 75endif
78endif 76endif
79 77
80hostc_flags = -Wp,-MD,$(depfile) $(__hostc_flags) 78hostc_flags = -Wp,-MD,$(depfile) $(_hostc_flags)
81hostcxx_flags = -Wp,-MD,$(depfile) $(__hostcxx_flags) 79hostcxx_flags = -Wp,-MD,$(depfile) $(_hostcxx_flags)
82 80
83##### 81#####
84# Compile programs on the host 82# Compile programs on the host
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 41e98fa66b91..1b412d4394ae 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -137,36 +137,26 @@ _c_flags += $(if $(patsubst n%,, \
137 $(CFLAGS_KCOV)) 137 $(CFLAGS_KCOV))
138endif 138endif
139 139
140__c_flags = $(_c_flags) 140# $(srctree)/$(src) for including checkin headers from generated source files
141__a_flags = $(_a_flags) 141# $(objtree)/$(obj) for including generated headers from checkin source files
142__cpp_flags = $(_cpp_flags)
143
144# If building the kernel in a separate objtree expand all occurrences
145# of -Idir to -I$(srctree)/dir except for absolute paths (starting with '/').
146ifeq ($(KBUILD_EXTMOD),) 142ifeq ($(KBUILD_EXTMOD),)
147ifneq ($(srctree),.) 143ifneq ($(srctree),.)
148 144_c_flags += -I $(srctree)/$(src) -I $(objtree)/$(obj)
149# -I$(obj) locates generated .h files 145_a_flags += -I $(srctree)/$(src) -I $(objtree)/$(obj)
150# $(call addtree,-I$(obj)) locates .h files in srctree, from generated .c files 146_cpp_flags += -I $(srctree)/$(src) -I $(objtree)/$(obj)
151# and locates generated .h files
152# FIXME: Replace both with specific CFLAGS* statements in the makefiles
153__c_flags = $(if $(obj),$(call addtree,-I$(src)) -I$(obj)) \
154 $(call flags,_c_flags)
155__a_flags = $(call flags,_a_flags)
156__cpp_flags = $(call flags,_cpp_flags)
157endif 147endif
158endif 148endif
159 149
160c_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ 150c_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \
161 -include $(srctree)/include/linux/compiler_types.h \ 151 -include $(srctree)/include/linux/compiler_types.h \
162 $(__c_flags) $(modkern_cflags) \ 152 $(_c_flags) $(modkern_cflags) \
163 $(basename_flags) $(modname_flags) 153 $(basename_flags) $(modname_flags)
164 154
165a_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ 155a_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \
166 $(__a_flags) $(modkern_aflags) 156 $(_a_flags) $(modkern_aflags)
167 157
168cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ 158cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \
169 $(__cpp_flags) 159 $(_cpp_flags)
170 160
171ld_flags = $(KBUILD_LDFLAGS) $(ldflags-y) $(LDFLAGS_$(@F)) 161ld_flags = $(KBUILD_LDFLAGS) $(ldflags-y) $(LDFLAGS_$(@F))
172 162