* [PATCH 0/6] kbuild: refactor Makefiles related with cc-version
@ 2014-12-25 5:31 Masahiro Yamada
2014-12-25 5:31 ` [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion Masahiro Yamada
2015-01-09 16:27 ` [PATCH 0/6] kbuild: refactor Makefiles related with cc-version Michal Marek
0 siblings, 2 replies; 4+ messages in thread
From: Masahiro Yamada @ 2014-12-25 5:31 UTC (permalink / raw)
To: linux-kbuild
Cc: Peter Oberparleiter, Michal Marek, Masahiro Yamada, x86,
H. Peter Anvin, H. Peter Anvin, linux-doc, Jonathan Corbet,
Robert Richter, Michael Ellerman, Helge Deller,
Benjamin Herrenschmidt, linux-kernel, Thomas Gleixner, Andi Kleen,
James E.J. Bottomley, Paul Mackerras, Ingo Molnar, linux-parisc,
linuxppc-dev
Masahiro Yamada (6):
kbuild: fix cc-ifversion macro
kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
kbuild,gcov: remove unnecessary workaround
kbuild,gcov: simplify kernel/gcov/Makefile
kbuild: allow cc-ifversion to have the argument for false condition
kbuild,gcov: simplify kernel/gcov/Makefile more
Documentation/kbuild/makefiles.txt | 9 +++++----
arch/parisc/Makefile | 2 +-
arch/powerpc/Makefile | 6 +++---
arch/x86/Makefile.um | 2 +-
kernel/gcov/Makefile | 36 +++++-------------------------------
scripts/Kbuild.include | 7 ++-----
6 files changed, 17 insertions(+), 45 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
2014-12-25 5:31 [PATCH 0/6] kbuild: refactor Makefiles related with cc-version Masahiro Yamada
@ 2014-12-25 5:31 ` Masahiro Yamada
2014-12-25 22:41 ` Helge Deller
2015-01-09 16:27 ` [PATCH 0/6] kbuild: refactor Makefiles related with cc-version Michal Marek
1 sibling, 1 reply; 4+ messages in thread
From: Masahiro Yamada @ 2014-12-25 5:31 UTC (permalink / raw)
To: linux-kbuild
Cc: Peter Oberparleiter, Michal Marek, Masahiro Yamada,
Jonathan Corbet, James E.J. Bottomley, Helge Deller,
Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86, Robert Richter,
Andi Kleen, linux-doc, linux-kernel, linux-parisc, linuxppc-dev
The macros cc-version, cc-fullversion and ld-version take no argument.
It is not necessary to add $(call ...) to invoke them.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---
Documentation/kbuild/makefiles.txt | 4 ++--
arch/parisc/Makefile | 2 +-
arch/powerpc/Makefile | 6 +++---
arch/x86/Makefile.um | 2 +-
kernel/gcov/Makefile | 2 +-
scripts/Kbuild.include | 7 ++-----
6 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index a311db8..7b3487a 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -524,7 +524,7 @@ more details, with real examples.
Example:
#arch/x86/Makefile
cflags-y += $(shell \
- if [ $(call cc-version) -ge 0300 ] ; then \
+ if [ $(cc-version) -ge 0300 ] ; then \
echo "-mregparm=3"; fi ;)
In the above example, -mregparm=3 is only used for gcc version greater
@@ -552,7 +552,7 @@ more details, with real examples.
Example:
#arch/powerpc/Makefile
- $(Q)if test "$(call cc-fullversion)" = "040200" ; then \
+ $(Q)if test "$(cc-fullversion)" = "040200" ; then \
echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
false ; \
fi
diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
index e9b4b6a..ff5e55f 100644
--- a/arch/parisc/Makefile
+++ b/arch/parisc/Makefile
@@ -149,7 +149,7 @@ endef
# we require gcc 3.3 or above to compile the kernel
archprepare: checkbin
checkbin:
- @if test "$(call cc-version)" -lt "0303"; then \
+ @if test "$(cc-version)" -lt "0303"; then \
echo -n "Sorry, GCC v3.3 or above is required to build " ; \
echo "the kernel." ; \
false ; \
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 132d9c6..fc502e0 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -314,7 +314,7 @@ TOUT := .tmp_gas_check
# - Require gcc 4.0 or above on 64-bit
# - gcc-4.2.0 has issues compiling modules on 64-bit
checkbin:
- @if test "$(call cc-version)" = "0304" ; then \
+ @if test "$(cc-version)" = "0304" ; then \
if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \
echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \
echo 'correctly with gcc-3.4 and your version of binutils.'; \
@@ -322,13 +322,13 @@ checkbin:
false; \
fi ; \
fi
- @if test "$(call cc-version)" -lt "0400" \
+ @if test "$(cc-version)" -lt "0400" \
&& test "x${CONFIG_PPC64}" = "xy" ; then \
echo -n "Sorry, GCC v4.0 or above is required to build " ; \
echo "the 64-bit powerpc kernel." ; \
false ; \
fi
- @if test "$(call cc-fullversion)" = "040200" \
+ @if test "$(cc-fullversion)" = "040200" \
&& test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \
echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
echo 'kernel with modules enabled.' ; \
diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
index 36b62bc..95eba55 100644
--- a/arch/x86/Makefile.um
+++ b/arch/x86/Makefile.um
@@ -30,7 +30,7 @@ cflags-y += -ffreestanding
# Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
# a lot more stack due to the lack of sharing of stacklots. Also, gcc
# 4.3.0 needs -funit-at-a-time for extern inline functions.
-KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \
+KBUILD_CFLAGS += $(shell if [ $(cc-version) -lt 0400 ] ; then \
echo $(call cc-option,-fno-unit-at-a-time); \
else echo $(call cc-option,-funit-at-a-time); fi ;)
diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile
index 52aa7e8..6f01fa3 100644
--- a/kernel/gcov/Makefile
+++ b/kernel/gcov/Makefile
@@ -21,7 +21,7 @@ else
# is not available. We can probably move if-lt to Kbuild.include, so it's also
# not defined during clean or to include Kbuild.include in
# scripts/Makefile.clean. But the following workaround seems least invasive.
- cc-ver := $(if $(call cc-version),$(call cc-version),0)
+ cc-ver := $(if $(cc-version),$(cc-version),0)
endif
obj-$(CONFIG_GCOV_KERNEL) := base.o fs.o
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index a972666..69c9f57 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -136,17 +136,15 @@ cc-disable-warning = $(call try-run,\
$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
# cc-version
-# Usage gcc-ver := $(call cc-version)
cc-version = $(shell $(KBUILD_SHELL) $(srctree)/scripts/gcc-version.sh $(CC))
# cc-fullversion
-# Usage gcc-ver := $(call cc-fullversion)
cc-fullversion = $(shell $(KBUILD_SHELL) \
$(srctree)/scripts/gcc-version.sh -p $(CC))
# cc-ifversion
# Usage: EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
-cc-ifversion = $(shell [ $(call cc-version) $(1) $(2) ] && echo $(3))
+cc-ifversion = $(shell [ $(cc-version) $(1) $(2) ] && echo $(3))
# cc-ldoption
# Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
@@ -164,13 +162,12 @@ ld-option = $(call try-run,\
ar-option = $(call try-run, $(AR) rc$(1) "$$TMP",$(1),$(2))
# ld-version
-# Usage: $(call ld-version)
# Note this is mainly for HJ Lu's 3 number binutil versions
ld-version = $(shell $(LD) --version | $(srctree)/scripts/ld-version.sh)
# ld-ifversion
# Usage: $(call ld-ifversion, -ge, 22252, y)
-ld-ifversion = $(shell [ $(call ld-version) $(1) $(2) ] && echo $(3))
+ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3))
######
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
2014-12-25 5:31 ` [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion Masahiro Yamada
@ 2014-12-25 22:41 ` Helge Deller
0 siblings, 0 replies; 4+ messages in thread
From: Helge Deller @ 2014-12-25 22:41 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-parisc, linux-kbuild, linux-doc, linuxppc-dev
On 12/25/2014 06:31 AM, Masahiro Yamada wrote:
> The macros cc-version, cc-fullversion and ld-version take no argument.
> It is not necessary to add $(call ...) to invoke them.
>
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> ---
>
> Documentation/kbuild/makefiles.txt | 4 ++--
> arch/parisc/Makefile | 2 +-
For the parisc change:
Acked-by: Helge Deller <deller@gmx.de>
Helge
> arch/powerpc/Makefile | 6 +++---
> arch/x86/Makefile.um | 2 +-
> kernel/gcov/Makefile | 2 +-
> scripts/Kbuild.include | 7 ++-----
> 6 files changed, 10 insertions(+), 13 deletions(-)
>
> diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
> index a311db8..7b3487a 100644
> --- a/Documentation/kbuild/makefiles.txt
> +++ b/Documentation/kbuild/makefiles.txt
> @@ -524,7 +524,7 @@ more details, with real examples.
> Example:
> #arch/x86/Makefile
> cflags-y += $(shell \
> - if [ $(call cc-version) -ge 0300 ] ; then \
> + if [ $(cc-version) -ge 0300 ] ; then \
> echo "-mregparm=3"; fi ;)
>
> In the above example, -mregparm=3 is only used for gcc version greater
> @@ -552,7 +552,7 @@ more details, with real examples.
>
> Example:
> #arch/powerpc/Makefile
> - $(Q)if test "$(call cc-fullversion)" = "040200" ; then \
> + $(Q)if test "$(cc-fullversion)" = "040200" ; then \
> echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
> false ; \
> fi
> diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
> index e9b4b6a..ff5e55f 100644
> --- a/arch/parisc/Makefile
> +++ b/arch/parisc/Makefile
> @@ -149,7 +149,7 @@ endef
> # we require gcc 3.3 or above to compile the kernel
> archprepare: checkbin
> checkbin:
> - @if test "$(call cc-version)" -lt "0303"; then \
> + @if test "$(cc-version)" -lt "0303"; then \
> echo -n "Sorry, GCC v3.3 or above is required to build " ; \
> echo "the kernel." ; \
> false ; \
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 132d9c6..fc502e0 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -314,7 +314,7 @@ TOUT := .tmp_gas_check
> # - Require gcc 4.0 or above on 64-bit
> # - gcc-4.2.0 has issues compiling modules on 64-bit
> checkbin:
> - @if test "$(call cc-version)" = "0304" ; then \
> + @if test "$(cc-version)" = "0304" ; then \
> if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \
> echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \
> echo 'correctly with gcc-3.4 and your version of binutils.'; \
> @@ -322,13 +322,13 @@ checkbin:
> false; \
> fi ; \
> fi
> - @if test "$(call cc-version)" -lt "0400" \
> + @if test "$(cc-version)" -lt "0400" \
> && test "x${CONFIG_PPC64}" = "xy" ; then \
> echo -n "Sorry, GCC v4.0 or above is required to build " ; \
> echo "the 64-bit powerpc kernel." ; \
> false ; \
> fi
> - @if test "$(call cc-fullversion)" = "040200" \
> + @if test "$(cc-fullversion)" = "040200" \
> && test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \
> echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
> echo 'kernel with modules enabled.' ; \
> diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
> index 36b62bc..95eba55 100644
> --- a/arch/x86/Makefile.um
> +++ b/arch/x86/Makefile.um
> @@ -30,7 +30,7 @@ cflags-y += -ffreestanding
> # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
> # a lot more stack due to the lack of sharing of stacklots. Also, gcc
> # 4.3.0 needs -funit-at-a-time for extern inline functions.
> -KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \
> +KBUILD_CFLAGS += $(shell if [ $(cc-version) -lt 0400 ] ; then \
> echo $(call cc-option,-fno-unit-at-a-time); \
> else echo $(call cc-option,-funit-at-a-time); fi ;)
>
> diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile
> index 52aa7e8..6f01fa3 100644
> --- a/kernel/gcov/Makefile
> +++ b/kernel/gcov/Makefile
> @@ -21,7 +21,7 @@ else
> # is not available. We can probably move if-lt to Kbuild.include, so it's also
> # not defined during clean or to include Kbuild.include in
> # scripts/Makefile.clean. But the following workaround seems least invasive.
> - cc-ver := $(if $(call cc-version),$(call cc-version),0)
> + cc-ver := $(if $(cc-version),$(cc-version),0)
> endif
>
> obj-$(CONFIG_GCOV_KERNEL) := base.o fs.o
> diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
> index a972666..69c9f57 100644
> --- a/scripts/Kbuild.include
> +++ b/scripts/Kbuild.include
> @@ -136,17 +136,15 @@ cc-disable-warning = $(call try-run,\
> $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
>
> # cc-version
> -# Usage gcc-ver := $(call cc-version)
> cc-version = $(shell $(KBUILD_SHELL) $(srctree)/scripts/gcc-version.sh $(CC))
>
> # cc-fullversion
> -# Usage gcc-ver := $(call cc-fullversion)
> cc-fullversion = $(shell $(KBUILD_SHELL) \
> $(srctree)/scripts/gcc-version.sh -p $(CC))
>
> # cc-ifversion
> # Usage: EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
> -cc-ifversion = $(shell [ $(call cc-version) $(1) $(2) ] && echo $(3))
> +cc-ifversion = $(shell [ $(cc-version) $(1) $(2) ] && echo $(3))
>
> # cc-ldoption
> # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
> @@ -164,13 +162,12 @@ ld-option = $(call try-run,\
> ar-option = $(call try-run, $(AR) rc$(1) "$$TMP",$(1),$(2))
>
> # ld-version
> -# Usage: $(call ld-version)
> # Note this is mainly for HJ Lu's 3 number binutil versions
> ld-version = $(shell $(LD) --version | $(srctree)/scripts/ld-version.sh)
>
> # ld-ifversion
> # Usage: $(call ld-ifversion, -ge, 22252, y)
> -ld-ifversion = $(shell [ $(call ld-version) $(1) $(2) ] && echo $(3))
> +ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3))
>
> ######
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/6] kbuild: refactor Makefiles related with cc-version
2014-12-25 5:31 [PATCH 0/6] kbuild: refactor Makefiles related with cc-version Masahiro Yamada
2014-12-25 5:31 ` [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion Masahiro Yamada
@ 2015-01-09 16:27 ` Michal Marek
1 sibling, 0 replies; 4+ messages in thread
From: Michal Marek @ 2015-01-09 16:27 UTC (permalink / raw)
To: Masahiro Yamada, linux-kbuild
Cc: Peter Oberparleiter, x86, H. Peter Anvin, H. Peter Anvin,
linux-doc, Jonathan Corbet, Robert Richter, Michael Ellerman,
Helge Deller, Benjamin Herrenschmidt, linux-kernel,
Thomas Gleixner, Andi Kleen, James E.J. Bottomley, Paul Mackerras,
Ingo Molnar, linux-parisc, linuxppc-dev
On 2014-12-25 06:31, Masahiro Yamada wrote:
> Masahiro Yamada (6):
> kbuild: fix cc-ifversion macro
> kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
> kbuild,gcov: remove unnecessary workaround
> kbuild,gcov: simplify kernel/gcov/Makefile
> kbuild: allow cc-ifversion to have the argument for false condition
> kbuild,gcov: simplify kernel/gcov/Makefile more
Applied to kbuild.git#kbuild, thanks.
Michal
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-01-09 16:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-25 5:31 [PATCH 0/6] kbuild: refactor Makefiles related with cc-version Masahiro Yamada
2014-12-25 5:31 ` [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion Masahiro Yamada
2014-12-25 22:41 ` Helge Deller
2015-01-09 16:27 ` [PATCH 0/6] kbuild: refactor Makefiles related with cc-version Michal Marek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).