uapi: export all arch specifics directories

This patch removes the need of subdir-y. Now all files/directories under
arch/<arch>/include/uapi/ are exported.

The only change for userland is the layout of the command 'make
headers_install_all': directories asm-<arch> are replaced by arch-<arch>/.
Those new directories contains all files/directories of the specified arch.

Note that only cris and tile have more directories than only asm:
 - arch-v[10|32] for cris;
 - arch for tile.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
Nicolas Dichtel 2017-03-27 14:20:16 +02:00 committed by Masahiro Yamada
parent fcc8487d47
commit 61562f981e
5 changed files with 5 additions and 24 deletions

View File

@ -49,7 +49,6 @@ This document describes the Linux kernel Makefiles.
--- 7.3 generic-y
--- 7.4 generated-y
--- 7.5 mandatory-y
--- 7.6 subdir-y
=== 8 Kbuild Variables
=== 9 Makefile language
@ -1265,7 +1264,7 @@ The pre-processing does:
- drop all sections that are kernel internal (guarded by ifdef __KERNEL__)
All headers under include/uapi/, include/generated/uapi/,
arch/<arch>/include/uapi/asm/ and arch/<arch>/include/generated/uapi/asm/
arch/<arch>/include/uapi/ and arch/<arch>/include/generated/uapi/
are exported.
A Kbuild file may be defined under arch/<arch>/include/uapi/asm/ and
@ -1338,18 +1337,6 @@ See subsequent chapter for the syntax of the Kbuild file.
The convention is to list one subdir per line and
preferably in alphabetic order.
--- 7.6 subdir-y
subdir-y may be used to specify a subdirectory to be exported.
Example:
#arch/cris/include/uapi/asm/Kbuild
subdir-y += ../arch-v10/arch/
subdir-y += ../arch-v32/arch/
The convention is to list one subdir per line and
preferably in alphabetic order.
=== 8 Kbuild Variables
The top Makefile exports the following variables:

View File

@ -1128,7 +1128,7 @@ firmware_install:
export INSTALL_HDR_PATH = $(objtree)/usr
# If we do an all arch process set dst to asm-$(hdr-arch)
hdr-dst = $(if $(KBUILD_HEADERS), dst=include/asm-$(hdr-arch), dst=include/asm)
hdr-dst = $(if $(KBUILD_HEADERS), dst=include/arch-$(hdr-arch), dst=include)
PHONY += archheaders
archheaders:
@ -1149,7 +1149,7 @@ headers_install: __headers
$(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/uapi/asm/Kbuild),, \
$(error Headers not exportable for the $(SRCARCH) architecture))
$(Q)$(MAKE) $(hdr-inst)=include/uapi
$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi/asm $(hdr-dst)
$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi $(hdr-dst)
PHONY += headers_check_all
headers_check_all: headers_install_all
@ -1158,7 +1158,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/asm $(hdr-dst) HDRCHECK=1
$(Q)$(MAKE) $(hdr-inst)=arch/$(hdr-arch)/include/uapi/ $(hdr-dst) HDRCHECK=1
# ---------------------------------------------------------------------------
# Kernel selftest

View File

@ -1,5 +1,2 @@
# UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm
subdir-y += ../arch-v10/arch/
subdir-y += ../arch-v32/arch/

View File

@ -2,5 +2,3 @@
include include/uapi/asm-generic/Kbuild.asm
generic-y += ucontext.h
subdir-y += ../arch

View File

@ -2,7 +2,7 @@
# Installing headers
#
# All headers under include/uapi, include/generated/uapi,
# arch/<arch>/include/uapi/asm and arch/<arch>/include/generated/uapi/asm are
# arch/<arch>/include/uapi and arch/<arch>/include/generated/uapi are
# exported.
# They are preprocessed to remove __KERNEL__ section of the file.
#
@ -30,7 +30,6 @@ installdir := $(INSTALL_HDR_PATH)/$(subst uapi/,,$(_dst))
srcdir := $(srctree)/$(obj)
gendir := $(objtree)/$(gen)
subdirs := $(patsubst $(srcdir)/%/.,%,$(wildcard $(srcdir)/*/.))
subdirs += $(subdir-y)
header-files := $(notdir $(wildcard $(srcdir)/*.h))
header-files += $(notdir $(wildcard $(srcdir)/*.agh))
header-files := $(filter-out $(no-export-headers), $(header-files))