|
@@ -350,12 +350,22 @@ AFLAGS_KERNEL =
|
|
|
CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
|
|
|
|
|
|
|
|
|
+# Use USERINCLUDE when you must reference the UAPI directories only.
|
|
|
+USERINCLUDE := \
|
|
|
+ -I$(srctree)/arch/$(hdr-arch)/include/uapi \
|
|
|
+ -Iarch/$(hdr-arch)/include/generated/uapi \
|
|
|
+ -I$(srctree)/include/uapi \
|
|
|
+ -Iinclude/generated/uapi \
|
|
|
+ -include $(srctree)/include/linux/kconfig.h
|
|
|
+
|
|
|
# Use LINUXINCLUDE when you must reference the include/ directory.
|
|
|
# Needed to be compatible with the O= option
|
|
|
-LINUXINCLUDE := -I$(srctree)/arch/$(hdr-arch)/include \
|
|
|
- -Iarch/$(hdr-arch)/include/generated -Iinclude \
|
|
|
- $(if $(KBUILD_SRC), -I$(srctree)/include) \
|
|
|
- -include $(srctree)/include/linux/kconfig.h
|
|
|
+LINUXINCLUDE := \
|
|
|
+ -I$(srctree)/arch/$(hdr-arch)/include \
|
|
|
+ -Iarch/$(hdr-arch)/include/generated \
|
|
|
+ $(if $(KBUILD_SRC), -I$(srctree)/include) \
|
|
|
+ -Iinclude \
|
|
|
+ $(USERINCLUDE)
|
|
|
|
|
|
KBUILD_CPPFLAGS := -D__KERNEL__
|
|
|
|
|
@@ -437,9 +447,11 @@ asm-generic:
|
|
|
# Detect when mixed targets is specified, and make a second invocation
|
|
|
# of make so .config is not included in this case either (for *config).
|
|
|
|
|
|
+version_h := include/generated/uapi/linux/version.h
|
|
|
+
|
|
|
no-dot-config-targets := clean mrproper distclean \
|
|
|
cscope gtags TAGS tags help %docs check% coccicheck \
|
|
|
- include/linux/version.h headers_% archheaders archscripts \
|
|
|
+ $(version_h) headers_% archheaders archscripts \
|
|
|
kernelversion %src-pkg
|
|
|
|
|
|
config-targets := 0
|
|
@@ -809,7 +821,7 @@ endif
|
|
|
# prepare2 creates a makefile if using a separate output directory
|
|
|
prepare2: prepare3 outputmakefile asm-generic
|
|
|
|
|
|
-prepare1: prepare2 include/linux/version.h include/generated/utsrelease.h \
|
|
|
+prepare1: prepare2 $(version_h) include/generated/utsrelease.h \
|
|
|
include/config/auto.conf
|
|
|
$(cmd_crmodverdir)
|
|
|
|
|
@@ -842,7 +854,7 @@ define filechk_version.h
|
|
|
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
|
|
|
endef
|
|
|
|
|
|
-include/linux/version.h: $(srctree)/Makefile FORCE
|
|
|
+$(version_h): $(srctree)/Makefile FORCE
|
|
|
$(call filechk,version.h)
|
|
|
|
|
|
include/generated/utsrelease.h: include/config/kernel.release FORCE
|
|
@@ -887,7 +899,7 @@ PHONY += archscripts
|
|
|
archscripts:
|
|
|
|
|
|
PHONY += __headers
|
|
|
-__headers: include/linux/version.h scripts_basic asm-generic archheaders archscripts FORCE
|
|
|
+__headers: $(version_h) scripts_basic asm-generic archheaders archscripts FORCE
|
|
|
$(Q)$(MAKE) $(build)=scripts build_unifdef
|
|
|
|
|
|
PHONY += headers_install_all
|
|
@@ -896,10 +908,10 @@ headers_install_all:
|
|
|
|
|
|
PHONY += headers_install
|
|
|
headers_install: __headers
|
|
|
- $(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/asm/Kbuild),, \
|
|
|
- $(error Headers not exportable for the $(SRCARCH) architecture))
|
|
|
- $(Q)$(MAKE) $(hdr-inst)=include
|
|
|
- $(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/asm $(hdr-dst)
|
|
|
+ $(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/uapi/asm/Kbuild),, \
|
|
|
+ $(error Headers not exportable for the $(SRCARCH) architecture))
|
|
|
+ $(Q)$(MAKE) $(hdr-inst)=include/uapi
|
|
|
+ $(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi/asm $(hdr-dst)
|
|
|
|
|
|
PHONY += headers_check_all
|
|
|
headers_check_all: headers_install_all
|
|
@@ -907,8 +919,8 @@ headers_check_all: headers_install_all
|
|
|
|
|
|
PHONY += headers_check
|
|
|
headers_check: headers_install
|
|
|
- $(Q)$(MAKE) $(hdr-inst)=include HDRCHECK=1
|
|
|
- $(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/asm $(hdr-dst) HDRCHECK=1
|
|
|
+ $(Q)$(MAKE) $(hdr-inst)=include/uapi HDRCHECK=1
|
|
|
+ $(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi/asm $(hdr-dst) HDRCHECK=1
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
# Modules
|
|
@@ -997,8 +1009,7 @@ CLEAN_DIRS += $(MODVERDIR)
|
|
|
# Directories & files removed with 'make mrproper'
|
|
|
MRPROPER_DIRS += include/config usr/include include/generated \
|
|
|
arch/*/include/generated
|
|
|
-MRPROPER_FILES += .config .config.old .version .old_version \
|
|
|
- include/linux/version.h \
|
|
|
+MRPROPER_FILES += .config .config.old .version .old_version $(version_h) \
|
|
|
Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
|
|
|
|
|
|
# clean - Delete most, but leave enough to build external modules
|