Kbuild updates for v4.14
- 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 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJZupWLAAoJED2LAQed4NsGVEEQAItJ0y1uxDr0cjJNE46N6p6+ EMCWKWC2H0XR9oFRY1y5utYWIwRauIaESgGg1qMU6Lbg5qZamggpNrYVH207tCz1 gNkU8wwc2SXpxJy2eG2asxY9L2mL0a5fFFOgxIxoz+hCTgr4Yk1IGnTH9+GPQKtW thduXxTvcB4/oNTOgUHNj/7j9ydn7ETTOjsCoaEwBZqtBaaEBj20h6EOhgX+ouMd 5P9YoCbfk28KHKlnMd8sNHV5SLKb94wCwoM/QIOLl42rwIAc81dUgOmaMGeflXF9 zBH1exi4ID9SyQyuMZemJNe0bD6YR2qG0Sf1t2eDnhxmcav7Vwk+WV7Pdpr8UWw8 Lot9yPJQA43kfYj6pfCJFXzWEduNT48zGGBJb30WyGkBkidNNGkujdSeI36swEQD fPV9tHPk48OSNPqJWZXehezBqN9U5Sa1M9dk5TNA69mzdZgNp052flxywBQ/SGTO +h17SREP9Mm6CQ9ApfHaOlMr40/mpCCDq+p8pfem5ZtnBby9k4uNp2P9hAMTJdw8 5AOdwB0MdzvMQgF5UO0kklk6HGUZTAGHi91k5k3e+DPydt9+2ntZFZoVwVYaD756 E55KKrQZqSO758gnN9Wbr8ihgOhNI3ZA320nCjfwQdnUqQ496KAkLpgVALF8pEVi /xIBawfQNj9BlDc3Y3jo =Tam1 -----END PGP SIGNATURE----- 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:
commit
a2bc8dea9e
12
Makefile
12
Makefile
|
@ -130,8 +130,8 @@ endif
|
||||||
ifneq ($(KBUILD_OUTPUT),)
|
ifneq ($(KBUILD_OUTPUT),)
|
||||||
# check that the output directory actually exists
|
# check that the output directory actually exists
|
||||||
saved-output := $(KBUILD_OUTPUT)
|
saved-output := $(KBUILD_OUTPUT)
|
||||||
KBUILD_OUTPUT := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) \
|
$(shell [ -d $(KBUILD_OUTPUT) ] || mkdir -p $(KBUILD_OUTPUT))
|
||||||
&& /bin/pwd)
|
KBUILD_OUTPUT := $(realpath $(KBUILD_OUTPUT))
|
||||||
$(if $(KBUILD_OUTPUT),, \
|
$(if $(KBUILD_OUTPUT),, \
|
||||||
$(error failed to create output directory "$(saved-output)"))
|
$(error failed to create output directory "$(saved-output)"))
|
||||||
|
|
||||||
|
@ -978,7 +978,7 @@ ifdef CONFIG_HEADERS_CHECK
|
||||||
$(Q)$(MAKE) -f $(srctree)/Makefile headers_check
|
$(Q)$(MAKE) -f $(srctree)/Makefile headers_check
|
||||||
endif
|
endif
|
||||||
ifdef CONFIG_GDB_SCRIPTS
|
ifdef CONFIG_GDB_SCRIPTS
|
||||||
$(Q)ln -fsn `cd $(srctree) && /bin/pwd`/scripts/gdb/vmlinux-gdb.py
|
$(Q)ln -fsn $(abspath $(srctree)/scripts/gdb/vmlinux-gdb.py)
|
||||||
endif
|
endif
|
||||||
ifdef CONFIG_TRIM_UNUSED_KSYMS
|
ifdef CONFIG_TRIM_UNUSED_KSYMS
|
||||||
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
|
||||||
|
@ -1238,7 +1238,7 @@ _modinst_:
|
||||||
@rm -rf $(MODLIB)/kernel
|
@rm -rf $(MODLIB)/kernel
|
||||||
@rm -f $(MODLIB)/source
|
@rm -f $(MODLIB)/source
|
||||||
@mkdir -p $(MODLIB)/kernel
|
@mkdir -p $(MODLIB)/kernel
|
||||||
@ln -s `cd $(srctree) && /bin/pwd` $(MODLIB)/source
|
@ln -s $(abspath $(srctree)) $(MODLIB)/source
|
||||||
@if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
|
@if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
|
||||||
rm -f $(MODLIB)/build ; \
|
rm -f $(MODLIB)/build ; \
|
||||||
ln -s $(CURDIR) $(MODLIB)/build ; \
|
ln -s $(CURDIR) $(MODLIB)/build ; \
|
||||||
|
@ -1630,11 +1630,11 @@ image_name:
|
||||||
# Clear a bunch of variables before executing the submake
|
# Clear a bunch of variables before executing the submake
|
||||||
tools/: FORCE
|
tools/: FORCE
|
||||||
$(Q)mkdir -p $(objtree)/tools
|
$(Q)mkdir -p $(objtree)/tools
|
||||||
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/
|
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(src)/tools/
|
||||||
|
|
||||||
tools/%: FORCE
|
tools/%: FORCE
|
||||||
$(Q)mkdir -p $(objtree)/tools
|
$(Q)mkdir -p $(objtree)/tools
|
||||||
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/ $*
|
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(src)/tools/ $*
|
||||||
|
|
||||||
# Single targets
|
# Single targets
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
|
@ -37,6 +37,7 @@ warning-2 += $(call cc-option, -Wlogical-op)
|
||||||
warning-2 += $(call cc-option, -Wmissing-field-initializers)
|
warning-2 += $(call cc-option, -Wmissing-field-initializers)
|
||||||
warning-2 += $(call cc-option, -Wsign-compare)
|
warning-2 += $(call cc-option, -Wsign-compare)
|
||||||
warning-2 += $(call cc-option, -Wmaybe-uninitialized)
|
warning-2 += $(call cc-option, -Wmaybe-uninitialized)
|
||||||
|
warning-2 += $(call cc-option, -Wunused-macros)
|
||||||
|
|
||||||
warning-3 := -Wbad-function-cast
|
warning-3 := -Wbad-function-cast
|
||||||
warning-3 += -Wcast-qual
|
warning-3 += -Wcast-qual
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
always := gdb-scripts
|
always := gdb-scripts
|
||||||
|
|
||||||
SRCTREE := $(shell cd $(srctree) && /bin/pwd)
|
SRCTREE := $(abspath $(srctree))
|
||||||
|
|
||||||
$(obj)/gdb-scripts:
|
$(obj)/gdb-scripts:
|
||||||
ifneq ($(KBUILD_SRC),)
|
ifneq ($(KBUILD_SRC),)
|
||||||
|
|
|
@ -24,20 +24,19 @@ tarball="${objtree}/linux-${KERNELRELEASE}-${ARCH}.tar"
|
||||||
#
|
#
|
||||||
case "${1}" in
|
case "${1}" in
|
||||||
tar-pkg)
|
tar-pkg)
|
||||||
compress="cat"
|
opts=
|
||||||
file_ext=""
|
|
||||||
;;
|
;;
|
||||||
targz-pkg)
|
targz-pkg)
|
||||||
compress="gzip"
|
opts=--gzip
|
||||||
file_ext=".gz"
|
tarball=${tarball}.gz
|
||||||
;;
|
;;
|
||||||
tarbz2-pkg)
|
tarbz2-pkg)
|
||||||
compress="bzip2"
|
opts=--bzip2
|
||||||
file_ext=".bz2"
|
tarball=${tarball}.bz2
|
||||||
;;
|
;;
|
||||||
tarxz-pkg)
|
tarxz-pkg)
|
||||||
compress="xz"
|
opts=--xz
|
||||||
file_ext=".xz"
|
tarball=${tarball}.xz
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown tarball target \"${1}\" requested, please add it to ${0}." >&2
|
echo "Unknown tarball target \"${1}\" requested, please add it to ${0}." >&2
|
||||||
|
@ -51,13 +50,14 @@ esac
|
||||||
#
|
#
|
||||||
rm -rf -- "${tmpdir}"
|
rm -rf -- "${tmpdir}"
|
||||||
mkdir -p -- "${tmpdir}/boot"
|
mkdir -p -- "${tmpdir}/boot"
|
||||||
|
dirs=boot
|
||||||
|
|
||||||
#
|
#
|
||||||
# Try to install modules
|
# 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
|
make ARCH="${ARCH}" O="${objtree}" KBUILD_SRC= INSTALL_MOD_PATH="${tmpdir}" modules_install
|
||||||
|
dirs="$dirs lib"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ fi
|
||||||
# Install basic kernel files
|
# Install basic kernel files
|
||||||
#
|
#
|
||||||
cp -v -- "${objtree}/System.map" "${tmpdir}/boot/System.map-${KERNELRELEASE}"
|
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}"
|
cp -v -- "${objtree}/vmlinux" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
|
||||||
|
|
||||||
|
|
||||||
|
@ -124,14 +124,12 @@ esac
|
||||||
#
|
#
|
||||||
# Create the tarball
|
# Create the tarball
|
||||||
#
|
#
|
||||||
(
|
if tar --owner=root --group=root --help >/dev/null 2>&1; then
|
||||||
opts=
|
opts="$opts --owner=root --group=root"
|
||||||
if tar --owner=root --group=root --help >/dev/null 2>&1; then
|
fi
|
||||||
opts="--owner=root --group=root"
|
|
||||||
fi
|
|
||||||
tar cf - -C "$tmpdir" boot/ lib/ $opts | ${compress} > "${tarball}${file_ext}"
|
|
||||||
)
|
|
||||||
|
|
||||||
echo "Tarball successfully created in ${tarball}${file_ext}"
|
tar cf $tarball -C $tmpdir $opts $dirs
|
||||||
|
|
||||||
|
echo "Tarball successfully created in $tarball"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -26,7 +26,7 @@ endif
|
||||||
|
|
||||||
ifneq ($(OUTPUT),)
|
ifneq ($(OUTPUT),)
|
||||||
# check that the output directory actually exists
|
# check that the output directory actually exists
|
||||||
OUTDIR := $(shell cd $(OUTPUT) && /bin/pwd)
|
OUTDIR := $(realpath $(OUTPUT))
|
||||||
$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
|
$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
ifneq ($(O),)
|
ifneq ($(O),)
|
||||||
ifeq ($(origin O), command line)
|
ifeq ($(origin O), command line)
|
||||||
dummy := $(if $(shell test -d $(O) || echo $(O)),$(error O=$(O) does not exist),)
|
ABSOLUTE_O := $(realpath $(O))
|
||||||
ABSOLUTE_O := $(shell cd $(O) ; pwd)
|
dummy := $(if $(ABSOLUTE_O),,$(error O=$(O) does not exist))
|
||||||
OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/)
|
OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/)
|
||||||
COMMAND_O := O=$(ABSOLUTE_O)
|
COMMAND_O := O=$(ABSOLUTE_O)
|
||||||
ifeq ($(objtree),)
|
ifeq ($(objtree),)
|
||||||
|
@ -12,7 +12,7 @@ endif
|
||||||
|
|
||||||
# check that the output directory actually exists
|
# check that the output directory actually exists
|
||||||
ifneq ($(OUTPUT),)
|
ifneq ($(OUTPUT),)
|
||||||
OUTDIR := $(shell cd $(OUTPUT) && /bin/pwd)
|
OUTDIR := $(realpath $(OUTPUT))
|
||||||
$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
|
$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue