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.3 generic-y
--- 7.4 generated-y --- 7.4 generated-y
--- 7.5 mandatory-y --- 7.5 mandatory-y
--- 7.6 subdir-y
=== 8 Kbuild Variables === 8 Kbuild Variables
=== 9 Makefile language === 9 Makefile language
@ -1265,7 +1264,7 @@ The pre-processing does:
- drop all sections that are kernel internal (guarded by ifdef __KERNEL__) - drop all sections that are kernel internal (guarded by ifdef __KERNEL__)
All headers under include/uapi/, include/generated/uapi/, 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. are exported.
A Kbuild file may be defined under arch/<arch>/include/uapi/asm/ and 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 The convention is to list one subdir per line and
preferably in alphabetic order. 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 === 8 Kbuild Variables
The top Makefile exports the following variables: The top Makefile exports the following variables:

View file

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

View file

@ -1,5 +1,2 @@
# UAPI Header export list # UAPI Header export list
include include/uapi/asm-generic/Kbuild.asm 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 include include/uapi/asm-generic/Kbuild.asm
generic-y += ucontext.h generic-y += ucontext.h
subdir-y += ../arch

View file

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