aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-09-14 16:46:33 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-14 16:46:33 -0400
commita2bc8dea9e96872e16248884367ad0013e040089 (patch)
tree6da6f9d4be2e201934f9e88380709628b5176850
parentdff4d1f6fe85627b7ce8e4c5291d8621a1995605 (diff)
parent77780f799e66cd261746a281dbbef1ee0c6997cd (diff)
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)
-rw-r--r--Makefile12
-rw-r--r--scripts/Makefile.extrawarn1
-rw-r--r--scripts/gdb/linux/Makefile2
-rwxr-xr-xscripts/package/buildtar36
-rw-r--r--tools/power/cpupower/Makefile2
-rw-r--r--tools/scripts/Makefile.include6
6 files changed, 29 insertions, 30 deletions
diff --git a/Makefile b/Makefile
index ab067d51ddf1..6585339586a6 100644
--- a/Makefile
+++ b/Makefile
@@ -130,8 +130,8 @@ endif
130ifneq ($(KBUILD_OUTPUT),) 130ifneq ($(KBUILD_OUTPUT),)
131# check that the output directory actually exists 131# check that the output directory actually exists
132saved-output := $(KBUILD_OUTPUT) 132saved-output := $(KBUILD_OUTPUT)
133KBUILD_OUTPUT := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) \ 133$(shell [ -d $(KBUILD_OUTPUT) ] || mkdir -p $(KBUILD_OUTPUT))
134 && /bin/pwd) 134KBUILD_OUTPUT := $(realpath $(KBUILD_OUTPUT))
135$(if $(KBUILD_OUTPUT),, \ 135$(if $(KBUILD_OUTPUT),, \
136 $(error failed to create output directory "$(saved-output)")) 136 $(error failed to create output directory "$(saved-output)"))
137 137
@@ -978,7 +978,7 @@ ifdef CONFIG_HEADERS_CHECK
978 $(Q)$(MAKE) -f $(srctree)/Makefile headers_check 978 $(Q)$(MAKE) -f $(srctree)/Makefile headers_check
979endif 979endif
980ifdef CONFIG_GDB_SCRIPTS 980ifdef CONFIG_GDB_SCRIPTS
981 $(Q)ln -fsn `cd $(srctree) && /bin/pwd`/scripts/gdb/vmlinux-gdb.py 981 $(Q)ln -fsn $(abspath $(srctree)/scripts/gdb/vmlinux-gdb.py)
982endif 982endif
983ifdef CONFIG_TRIM_UNUSED_KSYMS 983ifdef CONFIG_TRIM_UNUSED_KSYMS
984 $(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \ 984 $(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
@@ -1238,7 +1238,7 @@ _modinst_:
1238 @rm -rf $(MODLIB)/kernel 1238 @rm -rf $(MODLIB)/kernel
1239 @rm -f $(MODLIB)/source 1239 @rm -f $(MODLIB)/source
1240 @mkdir -p $(MODLIB)/kernel 1240 @mkdir -p $(MODLIB)/kernel
1241 @ln -s `cd $(srctree) && /bin/pwd` $(MODLIB)/source 1241 @ln -s $(abspath $(srctree)) $(MODLIB)/source
1242 @if [ ! $(objtree) -ef $(MODLIB)/build ]; then \ 1242 @if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
1243 rm -f $(MODLIB)/build ; \ 1243 rm -f $(MODLIB)/build ; \
1244 ln -s $(CURDIR) $(MODLIB)/build ; \ 1244 ln -s $(CURDIR) $(MODLIB)/build ; \
@@ -1630,11 +1630,11 @@ image_name:
1630# Clear a bunch of variables before executing the submake 1630# Clear a bunch of variables before executing the submake
1631tools/: FORCE 1631tools/: FORCE
1632 $(Q)mkdir -p $(objtree)/tools 1632 $(Q)mkdir -p $(objtree)/tools
1633 $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/ 1633 $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(src)/tools/
1634 1634
1635tools/%: FORCE 1635tools/%: FORCE
1636 $(Q)mkdir -p $(objtree)/tools 1636 $(Q)mkdir -p $(objtree)/tools
1637 $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/ $* 1637 $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(src)/tools/ $*
1638 1638
1639# Single targets 1639# Single targets
1640# --------------------------------------------------------------------------- 1640# ---------------------------------------------------------------------------
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
index fb3522fd8702..ae8a1357d01d 100644
--- a/scripts/Makefile.extrawarn
+++ b/scripts/Makefile.extrawarn
@@ -37,6 +37,7 @@ warning-2 += $(call cc-option, -Wlogical-op)
37warning-2 += $(call cc-option, -Wmissing-field-initializers) 37warning-2 += $(call cc-option, -Wmissing-field-initializers)
38warning-2 += $(call cc-option, -Wsign-compare) 38warning-2 += $(call cc-option, -Wsign-compare)
39warning-2 += $(call cc-option, -Wmaybe-uninitialized) 39warning-2 += $(call cc-option, -Wmaybe-uninitialized)
40warning-2 += $(call cc-option, -Wunused-macros)
40 41
41warning-3 := -Wbad-function-cast 42warning-3 := -Wbad-function-cast
42warning-3 += -Wcast-qual 43warning-3 += -Wcast-qual
diff --git a/scripts/gdb/linux/Makefile b/scripts/gdb/linux/Makefile
index 8b00031f5349..ab3cfe727a4e 100644
--- a/scripts/gdb/linux/Makefile
+++ b/scripts/gdb/linux/Makefile
@@ -1,6 +1,6 @@
1always := gdb-scripts 1always := gdb-scripts
2 2
3SRCTREE := $(shell cd $(srctree) && /bin/pwd) 3SRCTREE := $(abspath $(srctree))
4 4
5$(obj)/gdb-scripts: 5$(obj)/gdb-scripts:
6ifneq ($(KBUILD_SRC),) 6ifneq ($(KBUILD_SRC),)
diff --git a/scripts/package/buildtar b/scripts/package/buildtar
index e046bff33589..51f947118256 100755
--- a/scripts/package/buildtar
+++ b/scripts/package/buildtar
@@ -24,20 +24,19 @@ tarball="${objtree}/linux-${KERNELRELEASE}-${ARCH}.tar"
24# 24#
25case "${1}" in 25case "${1}" in
26 tar-pkg) 26 tar-pkg)
27 compress="cat" 27 opts=
28 file_ext=""
29 ;; 28 ;;
30 targz-pkg) 29 targz-pkg)
31 compress="gzip" 30 opts=--gzip
32 file_ext=".gz" 31 tarball=${tarball}.gz
33 ;; 32 ;;
34 tarbz2-pkg) 33 tarbz2-pkg)
35 compress="bzip2" 34 opts=--bzip2
36 file_ext=".bz2" 35 tarball=${tarball}.bz2
37 ;; 36 ;;
38 tarxz-pkg) 37 tarxz-pkg)
39 compress="xz" 38 opts=--xz
40 file_ext=".xz" 39 tarball=${tarball}.xz
41 ;; 40 ;;
42 *) 41 *)
43 echo "Unknown tarball target \"${1}\" requested, please add it to ${0}." >&2 42 echo "Unknown tarball target \"${1}\" requested, please add it to ${0}." >&2
@@ -51,13 +50,14 @@ esac
51# 50#
52rm -rf -- "${tmpdir}" 51rm -rf -- "${tmpdir}"
53mkdir -p -- "${tmpdir}/boot" 52mkdir -p -- "${tmpdir}/boot"
54 53dirs=boot
55 54
56# 55#
57# Try to install modules 56# Try to install modules
58# 57#
59if grep -q '^CONFIG_MODULES=y' "${objtree}/.config"; then 58if grep -q '^CONFIG_MODULES=y' "${KCONFIG_CONFIG}"; then
60 make ARCH="${ARCH}" O="${objtree}" KBUILD_SRC= INSTALL_MOD_PATH="${tmpdir}" modules_install 59 make ARCH="${ARCH}" O="${objtree}" KBUILD_SRC= INSTALL_MOD_PATH="${tmpdir}" modules_install
60 dirs="$dirs lib"
61fi 61fi
62 62
63 63
@@ -65,7 +65,7 @@ fi
65# Install basic kernel files 65# Install basic kernel files
66# 66#
67cp -v -- "${objtree}/System.map" "${tmpdir}/boot/System.map-${KERNELRELEASE}" 67cp -v -- "${objtree}/System.map" "${tmpdir}/boot/System.map-${KERNELRELEASE}"
68cp -v -- "${objtree}/.config" "${tmpdir}/boot/config-${KERNELRELEASE}" 68cp -v -- "${KCONFIG_CONFIG}" "${tmpdir}/boot/config-${KERNELRELEASE}"
69cp -v -- "${objtree}/vmlinux" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}" 69cp -v -- "${objtree}/vmlinux" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}"
70 70
71 71
@@ -124,14 +124,12 @@ esac
124# 124#
125# Create the tarball 125# Create the tarball
126# 126#
127( 127if tar --owner=root --group=root --help >/dev/null 2>&1; then
128 opts= 128 opts="$opts --owner=root --group=root"
129 if tar --owner=root --group=root --help >/dev/null 2>&1; then 129fi
130 opts="--owner=root --group=root" 130
131 fi 131tar cf $tarball -C $tmpdir $opts $dirs
132 tar cf - -C "$tmpdir" boot/ lib/ $opts | ${compress} > "${tarball}${file_ext}"
133)
134 132
135echo "Tarball successfully created in ${tarball}${file_ext}" 133echo "Tarball successfully created in $tarball"
136 134
137exit 0 135exit 0
diff --git a/tools/power/cpupower/Makefile b/tools/power/cpupower/Makefile
index d6e1c02ddcfe..4c5a481a850c 100644
--- a/tools/power/cpupower/Makefile
+++ b/tools/power/cpupower/Makefile
@@ -26,7 +26,7 @@ endif
26 26
27ifneq ($(OUTPUT),) 27ifneq ($(OUTPUT),)
28# check that the output directory actually exists 28# check that the output directory actually exists
29OUTDIR := $(shell cd $(OUTPUT) && /bin/pwd) 29OUTDIR := $(realpath $(OUTPUT))
30$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist)) 30$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
31endif 31endif
32 32
diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include
index 1e8b6116ba3c..9dc8f078a83c 100644
--- a/tools/scripts/Makefile.include
+++ b/tools/scripts/Makefile.include
@@ -1,7 +1,7 @@
1ifneq ($(O),) 1ifneq ($(O),)
2ifeq ($(origin O), command line) 2ifeq ($(origin O), command line)
3 dummy := $(if $(shell test -d $(O) || echo $(O)),$(error O=$(O) does not exist),) 3 ABSOLUTE_O := $(realpath $(O))
4 ABSOLUTE_O := $(shell cd $(O) ; pwd) 4 dummy := $(if $(ABSOLUTE_O),,$(error O=$(O) does not exist))
5 OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/) 5 OUTPUT := $(ABSOLUTE_O)/$(if $(subdir),$(subdir)/)
6 COMMAND_O := O=$(ABSOLUTE_O) 6 COMMAND_O := O=$(ABSOLUTE_O)
7ifeq ($(objtree),) 7ifeq ($(objtree),)
@@ -12,7 +12,7 @@ endif
12 12
13# check that the output directory actually exists 13# check that the output directory actually exists
14ifneq ($(OUTPUT),) 14ifneq ($(OUTPUT),)
15OUTDIR := $(shell cd $(OUTPUT) && /bin/pwd) 15OUTDIR := $(realpath $(OUTPUT))
16$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist)) 16$(if $(OUTDIR),, $(error output directory "$(OUTPUT)" does not exist))
17endif 17endif
18 18