FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo User

 
 
LinkBack Thread Tools
 
Old 03-09-2012, 07:35 PM
Todd Goodman
 
Default : Need help with a Makefile

* meino.cramer@gmx.de <meino.cramer@gmx.de> [120309 14:54]:
> Hi,
>
> 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.
> [1] 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,
> mcc
>
>

Hi Meino,

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
problem.

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
recipes.

For example:
config: scripts_basic outputmakefile FORCE
$(Q)mkdir -p include/linux
$(Q)$(MAKE) $(build)=scripts/kconfig $@
$(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease

%config: scripts_basic outputmakefile FORCE
$(Q)mkdir -p include/linux
$(Q)$(MAKE) $(build)=scripts/kconfig $@
$(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease

Regards,

Todd
 
Old 03-09-2012, 09:05 PM
Sebastian Pipping
 
Default : Need help with a Makefile

Hello,


zhe troublesome changes occured between 3.81 and 3.82. There is a
tracker bug on related breakage in case you are interested:

https://bugs.gentoo.org/show_bug.cgi?id=gmake-3.82

Best,



Sebastian
 
Old 03-09-2012, 09:29 PM
 
Default : Need help with a Makefile

Sebastian Pipping <sping@gentoo.org> [12-03-09 23:16]:
> Hello,
>
>
> zhe troublesome changes occured between 3.81 and 3.82. There is a
> tracker bug on related breakage in case you are interested:
>
> https://bugs.gentoo.org/show_bug.cgi?id=gmake-3.82
>
> Best,
>
>
>
> Sebastian
>

...which means to me and the problems I have: Reemerge make 3.81
???....or...

Best regards,
mcc
 
Old 03-10-2012, 12:57 AM
Sebastian Pipping
 
Default : Need help with a Makefile

On 03/09/2012 11:29 PM, meino.cramer@gmx.de wrote:
> ...which means to me and the problems I have: Reemerge make 3.81
> ???....or...

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.

Best,



Sebastian
 

Thread Tools




All times are GMT. The time now is 05:56 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org