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:
[tho...@tmb linux-2.6.35]$ cp arch/powerpc/configs/ppc64_defconfig .config
[tho...@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 t...@mandriva.org
Cc: Michal Marek mma...@suse.cz
Signed-off-by: Sam Ravnborg s...@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
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev