* email@example.com <firstname.lastname@example.org> [120309 14:54]:
> I am trying to compile a linux-kernel for an embedded system.
> There is an (older) build environment.
> The kernel is based on a 2.4er linux kernel.
> When doing a
> make menuconfig
> I get:
> make menuconfig
> Makefile:441: *** mixed implicit and normal rules. Stop.
>  8814 exit 2 make menuconfig
> The according part of the makefile is:
> include $(srctree)/arch/$(ARCH)/Makefile
> export KBUILD_DEFCONFIG
> 441 config %config: scripts_basic outputmakefile FORCE
> $(Q)mkdir -p include/linux
> $(Q)$(MAKE) $(build)=scripts/kconfig $@
> $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease
> I marked the according line with its number.
> Unfortunately I am not familiar with makefiles...
> I am using the make of the gentoo system, which is
> GNU make 3.82...
> What is wrong here?
> Thank you very much in advance for any help!
> Best regards,
Unfortunately GNU Make changed the rules on Makefiles (or decided to
enforce a rule that wasn't previously enforced, I don't know which) and
the kernel Makefiles were caught out by it.
The later kernels have the changes made that are necessary but if you're
building an older kernel with a newer make then you'll run into this
You can look at newer kernel source to find the changes necessary.
In the case above, the imlicit rule is the %config target and the normal
rule is the config target.
You can just separate those into two separate rules with the same
config: scripts_basic outputmakefile FORCE
$(Q)mkdir -p include/linux
$(Q)$(MAKE) $(build)=scripts/kconfig $@
$(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease
Sebastian Pipping <email@example.com> [12-03-09 23:16]:
> zhe troublesome changes occured between 3.81 and 3.82. There is a
> tracker bug on related breakage in case you are interested:
...which means to me and the problems I have: Reemerge make 3.81
03-10-2012, 01:57 AM
: Need help with a Makefile
On 03/09/2012 11:29 PM, firstname.lastname@example.org wrote:
> ...which means to me and the problems I have: Reemerge make 3.81
I would prefer a patch to the Makefile (like Tood Goodman proposed
earlier) over a downgrade of make. I just meant to provide more
information about the issue. Let us know if you have trouble patching
that very Makefile.