Merge tag 'kbuild-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull more Kbuild updates from Masahiro Yamada: - Move generic-y of exported headers to uapi/asm/Kbuild for complete de-coupling of UAPI - Clean up scripts/Makefile.headersinst - Fix host programs for 32 bit machine with XFS file system * tag 'kbuild-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (29 commits) kbuild: Enable Large File Support for hostprogs kbuild: remove wrapper files handling from Makefile.headersinst kbuild: split exported generic header creation into uapi-asm-generic kbuild: do not include old-kbuild-file from Makefile.headersinst xtensa: move generic-y of exported headers to uapi/asm/Kbuild unicore32: move generic-y of exported headers to uapi/asm/Kbuild tile: move generic-y of exported headers to uapi/asm/Kbuild sparc: move generic-y of exported headers to uapi/asm/Kbuild sh: move generic-y of exported headers to uapi/asm/Kbuild parisc: move generic-y of exported headers to uapi/asm/Kbuild openrisc: move generic-y of exported headers to uapi/asm/Kbuild nios2: move generic-y of exported headers to uapi/asm/Kbuild nios2: remove unneeded arch/nios2/include/(generated/)asm/signal.h microblaze: move generic-y of exported headers to uapi/asm/Kbuild metag: move generic-y of exported headers to uapi/asm/Kbuild m68k: move generic-y of exported headers to uapi/asm/Kbuild m32r: move generic-y of exported headers to uapi/asm/Kbuild ia64: remove redundant generic-y += kvm_para.h from asm/Kbuild hexagon: move generic-y of exported headers to uapi/asm/Kbuild h8300: move generic-y of exported headers to uapi/asm/Kbuild ...
This commit is contained in:
@@ -23,15 +23,12 @@ subdirs := $(patsubst $(srcdir)/%/,%,\
|
||||
$(filter-out $(srcdir)/,\
|
||||
$(sort $(dir $(wildcard $(srcdir)/*/)))))
|
||||
|
||||
# caller may set destination dir (when installing to asm/)
|
||||
_dst := $(if $(dst),$(dst),$(obj))
|
||||
|
||||
# Recursion
|
||||
__headers: $(subdirs)
|
||||
|
||||
.PHONY: $(subdirs)
|
||||
$(subdirs):
|
||||
$(Q)$(MAKE) $(hdr-inst)=$(obj)/$@ dst=$(_dst)/$@
|
||||
$(Q)$(MAKE) $(hdr-inst)=$(obj)/$@ dst=$(dst)/$@
|
||||
|
||||
# Skip header install/check for include/uapi and arch/$(hdr-arch)/include/uapi.
|
||||
# We have only sub-directories there.
|
||||
@@ -39,21 +36,12 @@ skip-inst := $(if $(filter %/uapi,$(obj)),1)
|
||||
|
||||
ifeq ($(skip-inst),)
|
||||
|
||||
# generated header directory
|
||||
gen := $(if $(gen),$(gen),$(subst include/,include/generated/,$(obj)))
|
||||
|
||||
# Kbuild file is optional
|
||||
kbuild-file := $(srctree)/$(obj)/Kbuild
|
||||
-include $(kbuild-file)
|
||||
|
||||
old-kbuild-file := $(srctree)/$(subst uapi/,,$(obj))/Kbuild
|
||||
ifneq ($(wildcard $(old-kbuild-file)),)
|
||||
include $(old-kbuild-file)
|
||||
endif
|
||||
|
||||
installdir := $(INSTALL_HDR_PATH)/$(subst uapi/,,$(_dst))
|
||||
|
||||
gendir := $(objtree)/$(gen)
|
||||
installdir := $(INSTALL_HDR_PATH)/$(dst)
|
||||
gendir := $(objtree)/$(subst include/,include/generated/,$(obj))
|
||||
header-files := $(notdir $(wildcard $(srcdir)/*.h))
|
||||
header-files += $(notdir $(wildcard $(srcdir)/*.agh))
|
||||
header-files := $(filter-out $(no-export-headers), $(header-files))
|
||||
@@ -64,14 +52,8 @@ genhdr-files := $(filter-out $(header-files), $(genhdr-files))
|
||||
install-file := $(installdir)/.install
|
||||
check-file := $(installdir)/.check
|
||||
|
||||
# generic-y list all files an architecture uses from asm-generic
|
||||
# Use this to build a list of headers which require a wrapper
|
||||
generic-files := $(notdir $(wildcard $(srctree)/include/uapi/asm-generic/*.h))
|
||||
wrapper-files := $(filter $(generic-files), $(generic-y))
|
||||
wrapper-files := $(filter-out $(header-files), $(wrapper-files))
|
||||
|
||||
# all headers files for this dir
|
||||
all-files := $(header-files) $(genhdr-files) $(wrapper-files)
|
||||
all-files := $(header-files) $(genhdr-files)
|
||||
output-files := $(addprefix $(installdir)/, $(all-files))
|
||||
|
||||
ifneq ($(mandatory-y),)
|
||||
@@ -95,9 +77,6 @@ quiet_cmd_install = INSTALL $(printdir) ($(words $(all-files))\
|
||||
cmd_install = \
|
||||
$(CONFIG_SHELL) $< $(installdir) $(srcdir) $(header-files); \
|
||||
$(CONFIG_SHELL) $< $(installdir) $(gendir) $(genhdr-files); \
|
||||
for F in $(wrapper-files); do \
|
||||
echo "\#include <asm-generic/$$F>" > $(installdir)/$$F; \
|
||||
done; \
|
||||
touch $@
|
||||
|
||||
quiet_cmd_remove = REMOVE $(unwanted)
|
||||
|
||||
Reference in New Issue
Block a user