Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5396a018 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'kbuild-fixes-v4.12' of...

Merge tag 'kbuild-fixes-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild fix from Masahiro Yamada:
 "Fix headers_install to not delete pre-existing headers in the install
  destination"

* tag 'kbuild-fixes-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  kbuild: skip install/check of headers right under uapi directories
parents 16d95c43 05d8cba4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1172,7 +1172,7 @@ headers_check_all: headers_install_all
PHONY += headers_check
headers_check: headers_install
	$(Q)$(MAKE) $(hdr-inst)=include/uapi HDRCHECK=1
	$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi/ $(hdr-dst) HDRCHECK=1
	$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi $(hdr-dst) HDRCHECK=1

# ---------------------------------------------------------------------------
# Kernel selftest
+27 −16
Original line number Diff line number Diff line
@@ -8,6 +8,29 @@
#
# ==========================================================================

PHONY := __headers
__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))

# Recursion
__headers: $(subdirs)

.PHONY: $(subdirs)
$(subdirs):
	$(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.
skip-inst := $(if $(filter %/uapi,$(obj)),1)

ifeq ($(skip-inst),)

# generated header directory
gen := $(if $(gen),$(gen),$(subst include/,include/generated/,$(obj)))

@@ -15,21 +38,14 @@ gen := $(if $(gen),$(gen),$(subst include/,include/generated/,$(obj)))
kbuild-file := $(srctree)/$(obj)/Kbuild
-include $(kbuild-file)

# called may set destination dir (when installing to asm/)
_dst := $(if $(dst),$(dst),$(obj))

old-kbuild-file := $(srctree)/$(subst uapi/,,$(obj))/Kbuild
ifneq ($(wildcard $(old-kbuild-file)),)
include $(old-kbuild-file)
endif

include scripts/Kbuild.include

installdir    := $(INSTALL_HDR_PATH)/$(subst uapi/,,$(_dst))

srcdir        := $(srctree)/$(obj)
gendir        := $(objtree)/$(gen)
subdirs       := $(patsubst $(srcdir)/%/.,%,$(wildcard $(srcdir)/*/.))
header-files  := $(notdir $(wildcard $(srcdir)/*.h))
header-files  += $(notdir $(wildcard $(srcdir)/*.agh))
header-files  := $(filter-out $(no-export-headers), $(header-files))
@@ -88,11 +104,9 @@ quiet_cmd_check = CHECK $(printdir) ($(words $(all-files)) files)
                  $(PERL) $< $(INSTALL_HDR_PATH)/include $(SRCARCH); \
	          touch $@

PHONY += __headersinst __headerscheck

ifndef HDRCHECK
# Rules for installing headers
__headersinst: $(subdirs) $(install-file)
__headers: $(install-file)
	@:

targets += $(install-file)
@@ -104,7 +118,7 @@ $(install-file): scripts/headers_install.sh \
	$(call if_changed,install)

else
__headerscheck: $(subdirs) $(check-file)
__headers: $(check-file)
	@:

targets += $(check-file)
@@ -113,11 +127,6 @@ $(check-file): scripts/headers_check.pl $(output-files) FORCE

endif

# Recursion
.PHONY: $(subdirs)
$(subdirs):
	$(Q)$(MAKE) $(hdr-inst)=$(obj)/$@ dst=$(_dst)/$@

targets := $(wildcard $(sort $(targets)))
cmd_files := $(wildcard \
             $(foreach f,$(targets),$(dir $(f)).$(notdir $(f)).cmd))
@@ -126,6 +135,8 @@ ifneq ($(cmd_files),)
	include $(cmd_files)
endif

endif # skip-inst

.PHONY: $(PHONY)
PHONY += FORCE
FORCE: ;