summaryrefslogtreecommitdiffstats
path: root/scripts/Makefile.lib
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2019-05-13 02:22:17 -0400
committerMasahiro Yamada <yamada.masahiro@socionext.com>2019-05-17 22:49:57 -0400
commitcdd750bfb1f76fe9be8cfb53cbe77b2e811081ab (patch)
treeaef9cb28da3409096df0239e3e315c4787fd5787 /scripts/Makefile.lib
parent9cc342f6c4a06ea613ddef1bcaa25409260aec63 (diff)
kbuild: remove 'addtree' and 'flags' magic for header search paths
The 'addtree' and 'flags' in scripts/Kbuild.include are so compilecated and ugly. As I mentioned in [1], Kbuild should stop automatic prefixing of header search path options. I fixed up (almost) all Makefiles in the kernel. Now 'addtree' and 'flags' have been removed. Kbuild still caters to add $(srctree)/$(src) and $(objtree)/$(obj) to the header search path for O= building, but never touches extra compiler options from ccflags-y etc. [1]: https://patchwork.kernel.org/patch/9632347/ Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts/Makefile.lib')
-rw-r--r--scripts/Makefile.lib26
1 files changed, 8 insertions, 18 deletions
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