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.
--- 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.
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
PHONY += 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:
$(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
prepare-objtool: $(objtool_target)
......
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h
generic-y += ucontext.h
# SPDX-License-Identifier: GPL-2.0
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd-common.h
generated-y += unistd-oabi.h
......
# SPDX-License-Identifier: GPL-2.0
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h
generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h
generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_64.h
generic-y += kvm_para.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h
generic-y += kvm_para.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h
generic-y += kvm_para.h
generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_n32.h
generated-y += unistd_n64.h
generated-y += unistd_o32.h
......
include include/uapi/asm-generic/Kbuild.asm
generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h
generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h
generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h
generated-y += unistd_64.h
generic-y += kvm_para.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h
generated-y += unistd_64.h
include include/uapi/asm-generic/Kbuild.asm
# SPDX-License-Identifier: GPL-2.0
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h
generated-y += unistd_64.h
# SPDX-License-Identifier: GPL-2.0
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h
generic-y += kvm_para.h
......
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h
generated-y += unistd_64.h
include include/uapi/asm-generic/Kbuild.asm
generic-y += kvm_para.h
generic-y += ucontext.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.h
generated-y += unistd_64.h
generated-y += unistd_x32.h
include include/uapi/asm-generic/Kbuild.asm
generated-y += unistd_32.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/
#
# (This file is not included when SRCARCH=um since UML does not support UAPI.)
mandatory-y += auxvec.h
mandatory-y += bitsperlong.h
mandatory-y += bpf_perf_event.h
......
......@@ -12,6 +12,11 @@ all:
src := $(subst /generated,,$(obj))
-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
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