Another paralell make patch for libf2c
Tue Oct 6 22:15:00 GMT 1998
> > I'm still not sure why the rule to build $(LIBG2C) gets issued before
> > the `all' rule has completely finished -- I believe that was a recent
> > change, but I'm having trouble keeping track.
>It has to be issued before "all" because "all" depends on $(LIBG2C).
Right, but that was what was recently changed. It seems to me as though
the current approach is a bit too complicated for its own good, but
then I was the one that pruned it down to such a small set of rules
that it didn't work for much of anything other than a straight build
in a clean directory. :)
> > In short, in an earlier snapshot of egcs, the `all' rule did not
> > depend on $(LIBG2C), and, AFAIK, it shouldn't.
>Why? I'm not questioning right/wrong, just trying to understand.
Me too...can't help you offhand, but it does seem as though the
stuff was architected so "make all" makes the object files,
"make libg2c.a" at the top level builds the archive, which
recurses to "make archive" in the subdirs, and the top-level
"make all" recurses to "make all libg2c.a".
Again, I don't know why it was done that way. I easily lose track
of all the dizzying requirements of writing acceptable Makefiles,
the syntax being the most trivial of concerns. Things like
operability in an arbitrary subdir; parallel make working; configure
defaults being overridable by a specific make invocation; supporting
broken systems; and so on just get *real* confusing. I'm sure
at least a few things like this contributed to probably good
decisions about how things ended up the way they are.
But, now that it's in the current state, I can't seem to
understand it, which means, for all practical purposes, I can't
modify it. Though I'm putting off actually worrying about this
for after I really make a solid effort to learn all the relevant
stuff, which I really haven't, yet.
tq vm, (burley)
More information about the Gcc-patches