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