Hello, On 10/25/07, Oleg Verych <[EMAIL PROTECTED]> wrote: > * Wed, Oct 24, 2007 at 06:47:20PM +0200, Vegard Nossum: > > > I have an idea on how to implement kbuild using non-recursive make, > > which should be both more efficient and safer than the current recursive > > make. > > Well, i have ideas too. But they do not consider `make` as any kind of > "efficient" and "safer" thing, whatever ad hocs someone going to stick to > it. > > The most referred paper about recursive make states: > > How can it be possible that we have been misus- > ing make for 20 years? How can it be possible > that behavior previously ascribed to make's limi- > tations is in fact a result of misusing it? > > The author only started thinking about the ideas > presented in this paper when faced with a number > of ugly build problems on utterly different > projects, but with common symptoms. By step- > ping back from the individual projects, and > closely examining the thing they had in common, > make, it became possible to see the larger pattern. > > Most of us are too caught up in the minutiae of > just getting the rotten build to work that we don't > have time to spare for the big picture. Especially > when the item in question "obviously" works[...] > > > But after reading this earlier in the paper, > > > It must be emphasized that this paper does not > suggest that make itself is the problem. This > paper is working from the premise that make does > not have a bug, that make does not have a design > flaw. The problem is not in make at all, but rather > in the input given to make - the way make is > being used. > > > i just am going to see "a big picture", which is without `make`. It > doesn't matter, if `make` was misused for 20 years. What is matter, that > for 9 years, after this topic was brought to LKML by the paper author, > nothing has changed in the linux build system, WRT this problematic.
Yes, I've read this paper too. And I've successfully used non-recursive make in my private projects (though these are arguably much smaller and MUCH less complex than the linux kernel). You'll also notice that my "implementation" of non-recursive make is different than the paper's suggested solution. Why? (And that was more or less the point of my previous e-mail), it largely supports kbuild syntax with little modification of the subdirectory makefiles! But yes, on the whole, I agree that `make' is not perfect. I think the problem is that it is too complex, and doesn't provide the solutions that are really needed. The result is huge beasts like the current kbuild system, which I would say is a nightmare to learn (for the kbuild developer), and probably also to maintain. > Maybe someone is going to get rid of gotos, or doing whatever other > "crap" CS professors think? Only reality shows, what results of > any kind of hand wavings or implementation are. For now this are: > > * gotos are good in the system programming, when used appropriately > (it seems, that famous kernel developer doesn't get it right > sometimes (anytime?) <[EMAIL PROTECTED]>); > > the main feature request for C lang lawyers is: "labels should have > addresses, programmer can read and manipulate." > > * micro kernels -- no micro kernels (see the WWWeb :) Well, yes. This is "survival of the fittest" in practice :) Vegard - To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
