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

Reply via email to