Merge tag 'kbuild-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild updates from Masahiro Yamada: - Use Make-builtin $(abspath ...) helper to get absolute path - Add W=2 extra warning option to detect unused macros - Use more KCONFIG_CONFIG instead hard-coded .config - Fix bugs of tar*-pkg targets * tag 'kbuild-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: kbuild: buildtar: do not print successful message if tar returns error kbuild: buildtar: fix tar error when CONFIG_MODULES is disabled kbuild: Use KCONFIG_CONFIG in buildtar Kbuild: enable -Wunused-macros warning for "make W=2" kbuild: use $(abspath ...) instead of $(shell cd ... && /bin/pwd)
This commit is contained in:
@@ -37,6 +37,7 @@ warning-2 += $(call cc-option, -Wlogical-op)
|
||||
warning-2 += $(call cc-option, -Wmissing-field-initializers)
|
||||
warning-2 += $(call cc-option, -Wsign-compare)
|
||||
warning-2 += $(call cc-option, -Wmaybe-uninitialized)
|
||||
warning-2 += $(call cc-option, -Wunused-macros)
|
||||
|
||||
warning-3 := -Wbad-function-cast
|
||||
warning-3 += -Wcast-qual
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
always := gdb-scripts
|
||||
|
||||
SRCTREE := $(shell cd $(srctree) && /bin/pwd)
|
||||
SRCTREE := $(abspath $(srctree))
|
||||
|
||||
$(obj)/gdb-scripts:
|
||||
ifneq ($(KBUILD_SRC),)
|
||||
|
||||
@@ -24,20 +24,19 @@ tarball="${objtree}/linux-${KERNELRELEASE}-${ARCH}.tar"
|
||||
#
|
||||
case "${1}" in
|
||||
tar-pkg)
|
||||
compress="cat"
|
||||
file_ext=""
|
||||
opts=
|
||||
;;
|
||||
targz-pkg)
|
||||
compress="gzip"
|
||||
file_ext=".gz"
|
||||
opts=--gzip
|
||||
tarball=${tarball}.gz
|
||||
;;
|
||||
tarbz2-pkg)
|
||||
compress="bzip2"
|
||||
file_ext=".bz2"
|
||||
opts=--bzip2
|
||||
tarball=${tarball}.bz2
|
||||
;;
|
||||
tarxz-pkg)
|
||||
compress="xz"
|
||||
file_ext=".xz"
|
||||
opts=--xz
|
||||
tarball=${tarball}.xz
|
||||
;;
|
||||
*)
|
||||
echo "Unknown tarball target \"${1}\" requested, please add it to ${0}." >&2
|
||||
@@ -51,13 +50,14 @@ esac
|
||||
#
|
||||
rm -rf -- "${tmpdir}"
|
||||
mkdir -p -- "${tmpdir}/boot"
|
||||
|
||||
dirs=boot
|
||||
|
||||
#
|
||||
# Try to install modules
|
||||
#
|
||||
if grep -q '^CONFIG_MODULES=y' "${objtree}/.config"; then
|
||||
if grep -q '^CONFIG_MODULES=y' "${KCONFIG_CONFIG}"; then
|
||||
make ARCH="${ARCH}" O="${objtree}" KBUILD_SRC= INSTALL_MOD_PATH="${tmpdir}" modules_install
|
||||
dirs="$dirs lib"
|
||||
fi
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ fi
|
||||
# Install basic kernel files
|
||||
#
|
||||
cp -v -- "${objtree}/System.map" "${tmpdir}/boot/System.map-${KERNELRELEASE}"
|
||||
cp -v -- "${objtree}/.config" "${tmpdir}/boot/config-${KERNELRELEASE}"
|
||||
cp -v -- "${KCONFIG_CONFIG}" "${tmpdir}/boot/config-${KERNELRELEASE}"
|
||||
cp -v -- "${objtree}/vmlinux" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
||||
|
||||
|
||||
@@ -124,14 +124,12 @@ esac
|
||||
#
|
||||
# Create the tarball
|
||||
#
|
||||
(
|
||||
opts=
|
||||
if tar --owner=root --group=root --help >/dev/null 2>&1; then
|
||||
opts="--owner=root --group=root"
|
||||
fi
|
||||
tar cf - -C "$tmpdir" boot/ lib/ $opts | ${compress} > "${tarball}${file_ext}"
|
||||
)
|
||||
if tar --owner=root --group=root --help >/dev/null 2>&1; then
|
||||
opts="$opts --owner=root --group=root"
|
||||
fi
|
||||
|
||||
echo "Tarball successfully created in ${tarball}${file_ext}"
|
||||
tar cf $tarball -C $tmpdir $opts $dirs
|
||||
|
||||
echo "Tarball successfully created in $tarball"
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user