diff options
| author | James Morris <james.l.morris@oracle.com> | 2017-07-25 10:44:18 +1000 |
|---|---|---|
| committer | James Morris <james.l.morris@oracle.com> | 2017-07-25 10:44:18 +1000 |
| commit | 53a2ebaaabc1eb8458796fec3bc1e0e80746b642 (patch) | |
| tree | 9d1f9227b49392cdd2edcc01057517da4f4b09c2 /scripts/Makefile.headersinst | |
| parent | 3cf29931453215536916d0c4da953fce1911ced3 (diff) | |
| parent | 520eccdfe187591a51ea9ab4c1a024ae4d0f68d9 (diff) | |
| download | linux-53a2ebaaabc1eb8458796fec3bc1e0e80746b642.tar.gz linux-53a2ebaaabc1eb8458796fec3bc1e0e80746b642.tar.bz2 linux-53a2ebaaabc1eb8458796fec3bc1e0e80746b642.zip | |
sync to Linus v4.13-rc2 for subsystem developers to work against
Diffstat (limited to 'scripts/Makefile.headersinst')
| -rw-r--r-- | scripts/Makefile.headersinst | 37 |
1 files changed, 12 insertions, 25 deletions
diff --git a/scripts/Makefile.headersinst b/scripts/Makefile.headersinst index ce753a408c56..343d586e566e 100644 --- a/scripts/Makefile.headersinst +++ b/scripts/Makefile.headersinst @@ -14,16 +14,21 @@ __headers: include scripts/Kbuild.include srcdir := $(srctree)/$(obj) -subdirs := $(patsubst $(srcdir)/%/.,%,$(wildcard $(srcdir)/*/.)) -# caller may set destination dir (when installing to asm/) -_dst := $(if $(dst),$(dst),$(obj)) + +# When make is run under a fakechroot environment, the function +# $(wildcard $(srcdir)/*/.) doesn't only return directories, but also regular +# files. So, we are using a combination of sort/dir/wildcard which works +# with fakechroot. +subdirs := $(patsubst $(srcdir)/%/,%,\ + $(filter-out $(srcdir)/,\ + $(sort $(dir $(wildcard $(srcdir)/*/))))) # 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. @@ -31,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)) @@ -56,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),) @@ -87,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) |
