* make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35]
[not found] <AANLkTim8FALeVG+NPLNLEQChu=dPD=GHSpnxmZHYgsNx@mail.gmail.com>
@ 2010-08-02 8:51 ` Thomas Backlund
2010-08-02 18:28 ` Sam Ravnborg
2010-08-07 17:56 ` Paul Smith
0 siblings, 2 replies; 8+ messages in thread
From: Thomas Backlund @ 2010-08-02 8:51 UTC (permalink / raw)
To: Linux Kernel Mailing List; +Cc: linuxppc-dev, bug-make
Hi,
(please cc me as I'm not subscribed)
updating from make 3.81 to 3.82 gets me this:
[thomas@tmb linux-2.6.35]$ cp arch/powerpc/configs/ppc64_defconfig .config
[thomas@tmb linux-2.6.35]$ LC_ALL=C make oldconfig ARCH=powerpc
/mnt/work/2.6.35/linux-2.6.35/arch/powerpc/Makefile:183: *** mixed
implicit and normal rules. Stop.
The lines are:
182:
183: $(BOOT_TARGETS): vmlinux
184: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst
%,$(boot)/%,$@)
185:
BOOT_TARGETS are defined on line 166 as:
BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.%
cuImage.% simpleImage.%
Now it's not a regression in the kernel as the same happends with the
2.6.34 tree too.
(btw, the host I'm syncing the defconfig with is a x86_64 machine)
Now, I dont know if this is "intended breakage" by the make update, or
if the Makefile needs to be updated....
Any ideas how to fix ?
--
Thomas
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35]
2010-08-02 8:51 ` make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] Thomas Backlund
@ 2010-08-02 18:28 ` Sam Ravnborg
2010-08-02 20:46 ` Thomas Backlund
2010-08-07 17:56 ` Paul Smith
1 sibling, 1 reply; 8+ messages in thread
From: Sam Ravnborg @ 2010-08-02 18:28 UTC (permalink / raw)
To: Thomas Backlund
Cc: Michal Marek, linuxppc-dev, Linux Kernel Mailing List, bug-make
On Mon, Aug 02, 2010 at 11:51:11AM +0300, Thomas Backlund wrote:
> Hi,
> (please cc me as I'm not subscribed)
>
> updating from make 3.81 to 3.82 gets me this:
>
> [thomas@tmb linux-2.6.35]$ cp arch/powerpc/configs/ppc64_defconfig .config
> [thomas@tmb linux-2.6.35]$ LC_ALL=C make oldconfig ARCH=powerpc
> /mnt/work/2.6.35/linux-2.6.35/arch/powerpc/Makefile:183: *** mixed
> implicit and normal rules. Stop.
>
> The lines are:
>
> 182:
> 183: $(BOOT_TARGETS): vmlinux
> 184: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst
> %,$(boot)/%,$@)
> 185:
>
> BOOT_TARGETS are defined on line 166 as:
> BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.%
> cuImage.% simpleImage.%
>
>
> Now it's not a regression in the kernel as the same happends with the
> 2.6.34 tree too.
>
> (btw, the host I'm syncing the defconfig with is a x86_64 machine)
>
>
> Now, I dont know if this is "intended breakage" by the make update, or
> if the Makefile needs to be updated....
>
> Any ideas how to fix ?
This is in the category "intended breakage".
We had a similar issue in the top-level Makefile which Paul (IIRC)
helped me to fix long time ago.
To fix popwerpc I suggest something along these lines.
[Note: I did not test it - please do so.
Sam
[PATCH] powerpc: fix build with make 3.82
Thomas Backlund reported that the powerpc build broke with make 3.82.
It failed with the following message:
arch/powerpc/Makefile:183: *** mixed implicit and normal rules. Stop.
The fix is to avoid mixing non-wildcard and wildcard targets.
Reported-by: Thomas Backlund <tmb@mandriva.org>
Cc: Michal Marek <mmarek@suse.cz>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
---
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 77cfe7a..ad88b21 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -163,9 +163,11 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/
# Default to zImage, override when needed
all: zImage
-BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
+# With make 3.82 we cannot mix normal and wildcard targets
+BOOT_TARGETS1 := zImage zImage.initrd uImaged
+BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
-PHONY += $(BOOT_TARGETS)
+PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2)
boot := arch/$(ARCH)/boot
@@ -180,7 +182,9 @@ relocs_check: arch/powerpc/relocs_check.pl vmlinux
zImage: relocs_check
endif
-$(BOOT_TARGETS): vmlinux
+$(BOOT_TARGETS1): vmlinux
+ $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
+$(BOOT_TARGETS2): vmlinux
$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
bootwrapper_install %.dtb:
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35]
2010-08-02 18:28 ` Sam Ravnborg
@ 2010-08-02 20:46 ` Thomas Backlund
2010-08-02 20:51 ` Sam Ravnborg
0 siblings, 1 reply; 8+ messages in thread
From: Thomas Backlund @ 2010-08-02 20:46 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Michal Marek, linuxppc-dev, Linux Kernel Mailing List, bug-make
02.08.2010 21:28, Sam Ravnborg skrev:
> On Mon, Aug 02, 2010 at 11:51:11AM +0300, Thomas Backlund wrote:
>> Hi,
>> (please cc me as I'm not subscribed)
>>
>> updating from make 3.81 to 3.82 gets me this:
>>
>> [thomas@tmb linux-2.6.35]$ cp arch/powerpc/configs/ppc64_defconfig .config
>> [thomas@tmb linux-2.6.35]$ LC_ALL=C make oldconfig ARCH=powerpc
>> /mnt/work/2.6.35/linux-2.6.35/arch/powerpc/Makefile:183: *** mixed
>> implicit and normal rules. Stop.
>>
>> The lines are:
>>
>> 182:
>> 183: $(BOOT_TARGETS): vmlinux
>> 184: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst
>> %,$(boot)/%,$@)
>> 185:
>>
>> BOOT_TARGETS are defined on line 166 as:
>> BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.%
>> cuImage.% simpleImage.%
>>
>>
>> Now it's not a regression in the kernel as the same happends with the
>> 2.6.34 tree too.
>>
>> (btw, the host I'm syncing the defconfig with is a x86_64 machine)
>>
>>
>> Now, I dont know if this is "intended breakage" by the make update, or
>> if the Makefile needs to be updated....
>>
>> Any ideas how to fix ?
>
> This is in the category "intended breakage".
> We had a similar issue in the top-level Makefile which Paul (IIRC)
> helped me to fix long time ago.
>
> To fix popwerpc I suggest something along these lines.
> [Note: I did not test it - please do so.
>
> Sam
>
> [PATCH] powerpc: fix build with make 3.82
>
> Thomas Backlund reported that the powerpc build broke with make 3.82.
> It failed with the following message:
>
> arch/powerpc/Makefile:183: *** mixed implicit and normal rules. Stop.
>
> The fix is to avoid mixing non-wildcard and wildcard targets.
>
> Reported-by: Thomas Backlund <tmb@mandriva.org>
> Cc: Michal Marek <mmarek@suse.cz>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> ---
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 77cfe7a..ad88b21 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -163,9 +163,11 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/
> # Default to zImage, override when needed
> all: zImage
>
> -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
> +# With make 3.82 we cannot mix normal and wildcard targets
> +BOOT_TARGETS1 := zImage zImage.initrd uImaged
> +BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
>
> -PHONY += $(BOOT_TARGETS)
> +PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2)
>
> boot := arch/$(ARCH)/boot
>
> @@ -180,7 +182,9 @@ relocs_check: arch/powerpc/relocs_check.pl vmlinux
> zImage: relocs_check
> endif
>
> -$(BOOT_TARGETS): vmlinux
> +$(BOOT_TARGETS1): vmlinux
> + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
> +$(BOOT_TARGETS2): vmlinux
> $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
>
> bootwrapper_install %.dtb:
Thanks, this seems to fix the first issue, but then I get the same erro on the following line 190:
190: bootwrapper_install %.dtb:
191: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
--
Thomas
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35]
2010-08-02 20:46 ` Thomas Backlund
@ 2010-08-02 20:51 ` Sam Ravnborg
2010-08-02 21:02 ` Andreas Schwab
2010-08-02 21:03 ` Thomas Backlund
0 siblings, 2 replies; 8+ messages in thread
From: Sam Ravnborg @ 2010-08-02 20:51 UTC (permalink / raw)
To: Thomas Backlund
Cc: Michal Marek, linuxppc-dev, Linux Kernel Mailing List, bug-make
>
> Thanks, this seems to fix the first issue, but then I get the same erro on the following line 190:
>
> 190: bootwrapper_install %.dtb:
> 191: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
>
Obviously - dunno how I missed that.
Updated patch below.
I will do a proper submission after you
confirm that powerpc build is working with make 3.82.
Sam
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 77cfe7a..ace7a3e 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -163,9 +163,11 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/
# Default to zImage, override when needed
all: zImage
-BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
+# With make 3.82 we cannot mix normal and wildcard targets
+BOOT_TARGETS1 := zImage zImage.initrd uImaged
+BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
-PHONY += $(BOOT_TARGETS)
+PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2)
boot := arch/$(ARCH)/boot
@@ -180,10 +182,16 @@ relocs_check: arch/powerpc/relocs_check.pl vmlinux
zImage: relocs_check
endif
-$(BOOT_TARGETS): vmlinux
+$(BOOT_TARGETS1): vmlinux
+ $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
+$(BOOT_TARGETS2): vmlinux
+ $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
+
+
+bootwrapper_install
$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
-bootwrapper_install %.dtb:
+%.dtb:
$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
define archhelp
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35]
2010-08-02 20:51 ` Sam Ravnborg
@ 2010-08-02 21:02 ` Andreas Schwab
2010-08-02 21:03 ` Thomas Backlund
1 sibling, 0 replies; 8+ messages in thread
From: Andreas Schwab @ 2010-08-02 21:02 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Michal Marek, linuxppc-dev, bug-make, Linux Kernel Mailing List,
Thomas Backlund
Sam Ravnborg <sam@ravnborg.org> writes:
> +bootwrapper_install
Missing colon.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35]
2010-08-02 20:51 ` Sam Ravnborg
2010-08-02 21:02 ` Andreas Schwab
@ 2010-08-02 21:03 ` Thomas Backlund
2010-08-03 6:48 ` Sam Ravnborg
1 sibling, 1 reply; 8+ messages in thread
From: Thomas Backlund @ 2010-08-02 21:03 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Michal Marek, linuxppc-dev@ozlabs.org, bug-make@gnu.org,
Linux Kernel Mailing List, Thomas Backlund
02.08.2010 23:51, Sam Ravnborg skrev:
>>
>> Thanks, this seems to fix the first issue, but then I get the same erro on the following line 190:
>>
>> 190: bootwrapper_install %.dtb:
>> 191: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
>>
>
> Obviously - dunno how I missed that.
> Updated patch below.
>
> I will do a proper submission after you
> confirm that powerpc build is working with make 3.82.
>
Yeah, that was an obvious fix, thanks!
One small typo fix below...
(a missing ':')
Otherwise it works here, so:
Tested-by: Thomas Backlund <tmb@mandriva.org>
> Sam
>
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 77cfe7a..ace7a3e 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -163,9 +163,11 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/
> # Default to zImage, override when needed
> all: zImage
>
> -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
> +# With make 3.82 we cannot mix normal and wildcard targets
> +BOOT_TARGETS1 := zImage zImage.initrd uImaged
> +BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.%
>
> -PHONY += $(BOOT_TARGETS)
> +PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2)
>
> boot := arch/$(ARCH)/boot
>
> @@ -180,10 +182,16 @@ relocs_check: arch/powerpc/relocs_check.pl vmlinux
> zImage: relocs_check
> endif
>
> -$(BOOT_TARGETS): vmlinux
> +$(BOOT_TARGETS1): vmlinux
> + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
> +$(BOOT_TARGETS2): vmlinux
> + $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
> +
> +
> +bootwrapper_install
bootwrapper_install:
> $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
>
> -bootwrapper_install %.dtb:
> +%.dtb:
> $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
>
> define archhelp
> .
>
--
Thomas
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35]
2010-08-02 21:03 ` Thomas Backlund
@ 2010-08-03 6:48 ` Sam Ravnborg
0 siblings, 0 replies; 8+ messages in thread
From: Sam Ravnborg @ 2010-08-03 6:48 UTC (permalink / raw)
To: Thomas Backlund
Cc: Michal Marek, linuxppc-dev@ozlabs.org, Linux Kernel Mailing List,
bug-make@gnu.org
On Tue, Aug 03, 2010 at 12:03:35AM +0300, Thomas Backlund wrote:
> 02.08.2010 23:51, Sam Ravnborg skrev:
> >>
> >> Thanks, this seems to fix the first issue, but then I get the same erro on the following line 190:
> >>
> >> 190: bootwrapper_install %.dtb:
> >> 191: $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
> >>
> >
> > Obviously - dunno how I missed that.
> > Updated patch below.
> >
> > I will do a proper submission after you
> > confirm that powerpc build is working with make 3.82.
> >
>
> Yeah, that was an obvious fix, thanks!
>
> One small typo fix below...
> (a missing ':')
>
> Otherwise it works here, so:
>
> Tested-by: Thomas Backlund <tmb@mandriva.org>
Thanks.
I have sent a proper patch to Ben/Paul (powerpc maintainers).
Sam
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35]
2010-08-02 8:51 ` make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] Thomas Backlund
2010-08-02 18:28 ` Sam Ravnborg
@ 2010-08-07 17:56 ` Paul Smith
1 sibling, 0 replies; 8+ messages in thread
From: Paul Smith @ 2010-08-07 17:56 UTC (permalink / raw)
To: Thomas Backlund; +Cc: linuxppc-dev, Linux Kernel Mailing List, bug-make
On Mon, 2010-08-02 at 11:51 +0300, Thomas Backlund wrote:
> BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage%
> treeImage.% cuImage.% simpleImage.%
>
> Now, I dont know if this is "intended breakage" by the make update, or
> if the Makefile needs to be updated....
The change is intentional. Note, though, that this syntax was always
dodgy, even in previous versions of GNU make.
If you wrote it exactly as you did, where all the explicit targets come
first and all the implicit targets come second, then it seems to have
been interpreted correctly.
However, if you did it any other way (for example, put some explicit
targets after the first implicit target) then make would silently throw
away all the targets starting with the first implicit target.
Since the syntax used here wasn't ever described in the documentation,
rather than reworking it as a new feature I decided to follow the docs
and disallow it, and be verbose about the error.
--
-------------------------------------------------------------------------------
Paul D. Smith <psmith@gnu.org> Find some GNU make tips at:
http://www.gnu.org http://make.mad-scientist.net
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-08-07 17:56 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <AANLkTim8FALeVG+NPLNLEQChu=dPD=GHSpnxmZHYgsNx@mail.gmail.com>
2010-08-02 8:51 ` make 3.82 fails on powerpc defconfig update [was: Linux 2.6.35] Thomas Backlund
2010-08-02 18:28 ` Sam Ravnborg
2010-08-02 20:46 ` Thomas Backlund
2010-08-02 20:51 ` Sam Ravnborg
2010-08-02 21:02 ` Andreas Schwab
2010-08-02 21:03 ` Thomas Backlund
2010-08-03 6:48 ` Sam Ravnborg
2010-08-07 17:56 ` Paul Smith
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).