On Sun, Oct 26, 2008 at 07:12:53PM -0400, Paul Smith wrote:
> On Sun, 2008-10-26 at 23:15 +0100, Sam Ravnborg wrote:
> > Can you give me a more precise pointer where we have this issue
> > so I can get it fixed.  I guess it is Makefile.build...
> 
> If you mean in the Linux kernel there are two places:
> 
>         Makefile:1601: *** mixed implicit and normal rules.  Stop.
>         
>         # Modules
>         / %/: prepare scripts FORCE

Here we try to catch that the following targets can be specified:
make /
make foobar/
make foo/bar/

I have this wake memory that I had some troubles initially
when I did this. Most likely I did it the other way around:

        %/ /: bla bla

and it did not work.
But later I chenged the order and suddenly it worked.

But you imply that it is not acceptable to mix it
like I do.

And this one looks easy to fix. I can rewrite it like this:

        %/: prepare scripts FORCE

And we are happy.

> and:
> 
>         Makefile:442: *** mixed implicit and normal rules.  Stop.
>         
>         config %config: scripts_basic outputmakefile FORCE
>                 $(Q)mkdir -p include/linux include/config
>                 $(Q)$(MAKE) $(build)=scripts/kconfig $@

Here I try to catch the following:

make config
make menuconfig
make xconfig
make foobarconfig

I must admit I cannot see the problem with mixing implicit and normal
rules in the above. But I gues this is my simple use of it.
Do you have any god suggestion how to rewrite this?

Note: %onfig: .... works but I would hate to use it.

        Sam


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to