Commit 037fc336 authored by Masahiro Yamada's avatar Masahiro Yamada

kbuild: force all architectures except um to include mandatory-y

Currently, every arch/*/include/uapi/asm/Kbuild explicitly includes
the common Kbuild.asm file. Factor out the duplicated include directives
to scripts/Makefile.asm-generic so that no architecture would opt out
of the mandatory-y mechanism.

um is not forced to include mandatory-y since it is a very exceptional
case which does not support UAPI.
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 7cbbbb8b
...@@ -1274,7 +1274,7 @@ See subsequent chapter for the syntax of the Kbuild file. ...@@ -1274,7 +1274,7 @@ See subsequent chapter for the syntax of the Kbuild file.
--- 7.4 mandatory-y --- 7.4 mandatory-y
mandatory-y is essentially used by include/(uapi/)asm-generic/Kbuild.asm mandatory-y is essentially used by include/(uapi/)asm-generic/Kbuild
to define the minimum set of ASM headers that all architectures must have. to define the minimum set of ASM headers that all architectures must have.
This works like optional generic-y. If a mandatory header is missing This works like optional generic-y. If a mandatory header is missing
......
...@@ -1098,9 +1098,11 @@ asm-generic := -f $(srctree)/scripts/Makefile.asm-generic obj ...@@ -1098,9 +1098,11 @@ asm-generic := -f $(srctree)/scripts/Makefile.asm-generic obj
PHONY += asm-generic uapi-asm-generic PHONY += asm-generic uapi-asm-generic
asm-generic: uapi-asm-generic asm-generic: uapi-asm-generic
$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm \
generic=include/asm-generic
uapi-asm-generic: uapi-asm-generic:
$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \
generic=include/uapi/asm-generic
PHONY += prepare-objtool PHONY += prepare-objtool
prepare-objtool: $(objtool_target) prepare-objtool: $(objtool_target)
......
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h generated-y += unistd_32.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h generic-y += kvm_para.h
generic-y += ucontext.h generic-y += ucontext.h
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd-common.h generated-y += unistd-common.h
generated-y += unistd-oabi.h generated-y += unistd-oabi.h
......
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h generic-y += kvm_para.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h generic-y += kvm_para.h
generic-y += ucontext.h generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += ucontext.h generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h generic-y += kvm_para.h
generic-y += ucontext.h generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += ucontext.h generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_64.h generated-y += unistd_64.h
generic-y += kvm_para.h generic-y += kvm_para.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h generated-y += unistd_32.h
generic-y += kvm_para.h generic-y += kvm_para.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h generated-y += unistd_32.h
generic-y += kvm_para.h generic-y += kvm_para.h
generic-y += ucontext.h generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_n32.h generated-y += unistd_n32.h
generated-y += unistd_n64.h generated-y += unistd_n64.h
generated-y += unistd_o32.h generated-y += unistd_o32.h
......
include include/uapi/asm-generic/Kbuild.asm
generic-y += ucontext.h generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h generic-y += kvm_para.h
generic-y += ucontext.h generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h generic-y += kvm_para.h
generic-y += ucontext.h generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h generated-y += unistd_32.h
generated-y += unistd_64.h generated-y += unistd_64.h
generic-y += kvm_para.h generic-y += kvm_para.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h generated-y += unistd_32.h
generated-y += unistd_64.h generated-y += unistd_64.h
include include/uapi/asm-generic/Kbuild.asm
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h generated-y += unistd_32.h
generated-y += unistd_64.h generated-y += unistd_64.h
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h generated-y += unistd_32.h
generic-y += kvm_para.h generic-y += kvm_para.h
......
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h generated-y += unistd_32.h
generated-y += unistd_64.h generated-y += unistd_64.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h generic-y += kvm_para.h
generic-y += ucontext.h generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h generated-y += unistd_32.h
generated-y += unistd_64.h generated-y += unistd_64.h
generated-y += unistd_x32.h generated-y += unistd_x32.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h generated-y += unistd_32.h
generic-y += kvm_para.h generic-y += kvm_para.h
# SPDX-License-Identifier: GPL-2.0
#
# asm headers that all architectures except um should have
# (This file is not included when SRCARCH=um since UML borrows several
# asm headers from the host architecutre.)
# SPDX-License-Identifier: GPL-2.0
# #
# Headers that are mandatory in usr/include/asm/ # Headers that are mandatory in usr/include/asm/
# # (This file is not included when SRCARCH=um since UML does not support UAPI.)
mandatory-y += auxvec.h mandatory-y += auxvec.h
mandatory-y += bitsperlong.h mandatory-y += bitsperlong.h
mandatory-y += bpf_perf_event.h mandatory-y += bpf_perf_event.h
......
...@@ -12,6 +12,11 @@ all: ...@@ -12,6 +12,11 @@ all:
src := $(subst /generated,,$(obj)) src := $(subst /generated,,$(obj))
-include $(src)/Kbuild -include $(src)/Kbuild
# $(generic)/Kbuild lists mandatory-y. Exclude um since it is a special case.
ifneq ($(SRCARCH),um)
include $(generic)/Kbuild
endif
include scripts/Kbuild.include include scripts/Kbuild.include
redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y)) redundant := $(filter $(mandatory-y) $(generated-y), $(generic-y))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment