Re: link: "Recursive Make Considered Harmful"
On Tue, Jan 11, 2005 at 07:53:54AM +0100, Jeroen Ruigrok/asmodai wrote:
>flaws. Any new build tool, again in my opinion, needs to cut back on the
>'programming' aspect of the build files and allow people to get their
>recipes working quickly.
I fully agree.
>I consider jam to be a step in the right direction.
I'll consider that a recommendation to have to look into jam.
>I have to do clever conditional stuff. Especially when I am first
>bootstrapping my compiler and then recompiling with said just compiled
>bootstrapped compiler. This needs on the fly readjustment of my CFLAGS and
>linking options. And then I even split out stuff into bootstrap.mk and
>build.mk already.
But how much of this cleverness needs to be done by run-time
calculation? Using a different *.mk file for different invocations
isn't the naughty thing I was talking about, unless your makefile
recurses using both of them at different times, or loops, or ...
>Given a versatile program, you are bound to run into users who will use some
>of the declarative and some of the non-declarative features.
Agreed. Although I bemoan the amount of non-declarative stuff in the
typical usage of make these days, because I don't think it's all
justified, I would also feel quite straightjacketted if I couldn't use
it when I thought it was justified.
What would be nice is a way to do all the fancy stuff up front, and
produce a declarative description of what needs to be done.
Unfortunately, the easiest way to work out what make would do is to
get make to do it.
I don't like all the GNU autocrap stuff, which supposedly does some of
what I want, at least partly because the resulting Makefiles are still
not fully declarative.
[I guess it's like my attitude to C++ - it was a good language before
it grew fat, and now people feel they have to use feature X, even
though feature Y is cheaper both size- and time-wise, and can do the
same things X was used for. A company I worked for rewrote some
templated C++ into C. The resulting binary was only 1/10 the size,
and far easier to maintain - the problem wasn't so much the tool as
inappropriate usage of the bells and whistles.]
--
Christopher Vance
討論串 (同標題文章)
完整討論串 (本文為第 10 之 31 篇):