kbuild: remove headers_{install,check}_all
headers_install_all does not make much sense any more because different architectures export different set of uapi/linux/ headers. As you see in include/uapi/linux/Kbuild, the installation of a.out.h, kvm.h, and kvm_para.h is arch-dependent. So, headers_install_all repeats the installation/removal of them. If somebody really thinks it is useful to do headers_install for all architectures, it would be possible by small shell-scripting, but the top Makefile does not have to provide entry targets just for that purpose. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
869ee58b82
commit
f3c8d4c7a7
|
@ -39,12 +39,5 @@ INSTALL_HDR_PATH indicates where to install the headers. It defaults to
|
||||||
An 'include' directory is automatically created inside INSTALL_HDR_PATH and
|
An 'include' directory is automatically created inside INSTALL_HDR_PATH and
|
||||||
headers are installed in 'INSTALL_HDR_PATH/include'.
|
headers are installed in 'INSTALL_HDR_PATH/include'.
|
||||||
|
|
||||||
The command "make headers_install_all" exports headers for all architectures
|
|
||||||
simultaneously. (This is mostly of interest to distribution maintainers,
|
|
||||||
who create an architecture-independent tarball from the resulting include
|
|
||||||
directory.) You also can use HDR_ARCH_LIST to specify list of architectures.
|
|
||||||
Remember to provide the appropriate linux/asm directory via "mv" or "ln -s"
|
|
||||||
before building a C library with headers exported this way.
|
|
||||||
|
|
||||||
The kernel header export infrastructure is maintained by David Woodhouse
|
The kernel header export infrastructure is maintained by David Woodhouse
|
||||||
<dwmw2@infradead.org>.
|
<dwmw2@infradead.org>.
|
||||||
|
|
|
@ -897,11 +897,7 @@ When kbuild executes, the following steps are followed (roughly):
|
||||||
--- 6.2 Add prerequisites to archheaders:
|
--- 6.2 Add prerequisites to archheaders:
|
||||||
|
|
||||||
The archheaders: rule is used to generate header files that
|
The archheaders: rule is used to generate header files that
|
||||||
may be installed into user space by "make header_install" or
|
may be installed into user space by "make header_install".
|
||||||
"make headers_install_all". In order to support
|
|
||||||
"make headers_install_all", this target has to be able to run
|
|
||||||
on an unconfigured tree, or a tree configured for another
|
|
||||||
architecture.
|
|
||||||
|
|
||||||
It is run before "make archprepare" when run on the
|
It is run before "make archprepare" when run on the
|
||||||
architecture itself.
|
architecture itself.
|
||||||
|
|
15
Makefile
15
Makefile
|
@ -1181,34 +1181,23 @@ headerdep:
|
||||||
#Default location for installed headers
|
#Default location for installed headers
|
||||||
export INSTALL_HDR_PATH = $(objtree)/usr
|
export INSTALL_HDR_PATH = $(objtree)/usr
|
||||||
|
|
||||||
# If we do an all arch process set dst to include/arch-$(SRCARCH)
|
|
||||||
hdr-dst = $(if $(KBUILD_HEADERS), dst=include/arch-$(SRCARCH), dst=include)
|
|
||||||
|
|
||||||
PHONY += archheaders archscripts
|
PHONY += archheaders archscripts
|
||||||
|
|
||||||
PHONY += __headers
|
PHONY += __headers
|
||||||
__headers: $(version_h) scripts_basic uapi-asm-generic archheaders archscripts
|
__headers: $(version_h) scripts_basic uapi-asm-generic archheaders archscripts
|
||||||
$(Q)$(MAKE) $(build)=scripts build_unifdef
|
$(Q)$(MAKE) $(build)=scripts build_unifdef
|
||||||
|
|
||||||
PHONY += headers_install_all
|
|
||||||
headers_install_all:
|
|
||||||
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/headers.sh install
|
|
||||||
|
|
||||||
PHONY += headers_install
|
PHONY += headers_install
|
||||||
headers_install: __headers
|
headers_install: __headers
|
||||||
$(if $(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/Kbuild),, \
|
$(if $(wildcard $(srctree)/arch/$(SRCARCH)/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 dst=include
|
$(Q)$(MAKE) $(hdr-inst)=include/uapi dst=include
|
||||||
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi $(hdr-dst)
|
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi dst=include
|
||||||
|
|
||||||
PHONY += headers_check_all
|
|
||||||
headers_check_all: headers_install_all
|
|
||||||
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/headers.sh check
|
|
||||||
|
|
||||||
PHONY += headers_check
|
PHONY += headers_check
|
||||||
headers_check: headers_install
|
headers_check: headers_install
|
||||||
$(Q)$(MAKE) $(hdr-inst)=include/uapi dst=include HDRCHECK=1
|
$(Q)$(MAKE) $(hdr-inst)=include/uapi dst=include HDRCHECK=1
|
||||||
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi $(hdr-dst) HDRCHECK=1
|
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi dst=include HDRCHECK=1
|
||||||
|
|
||||||
ifdef CONFIG_HEADERS_CHECK
|
ifdef CONFIG_HEADERS_CHECK
|
||||||
all: headers_check
|
all: headers_check
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
|
||||||
# Run headers_$1 command for all suitable architectures
|
|
||||||
|
|
||||||
# Stop on error
|
|
||||||
set -e
|
|
||||||
|
|
||||||
do_command()
|
|
||||||
{
|
|
||||||
if [ -f ${srctree}/arch/$2/include/asm/Kbuild ]; then
|
|
||||||
make ARCH=$2 KBUILD_HEADERS=$1 headers_$1
|
|
||||||
else
|
|
||||||
printf "Ignoring arch: %s\n" ${arch}
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
archs=${HDR_ARCH_LIST:-$(ls ${srctree}/arch)}
|
|
||||||
|
|
||||||
for arch in ${archs}; do
|
|
||||||
case ${arch} in
|
|
||||||
um) # no userspace export
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if [ -d ${srctree}/arch/${arch} ]; then
|
|
||||||
do_command $1 ${arch}
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
Loading…
Reference in New Issue