From: Godmar Back (gback@cs.utah.edu)
Date: Sun Dec 13 1998 - 11:57:23 EST
>
> On Sun, 13 Dec 1998, Archie Cobbs wrote:
> >Also, it would be nice to make Klasses.jar have a makefile dependency
> >on all of the *.java files (this dependency would have to be
> >automatically generated by 'make depend').
>
> Almost impossible in case of the AWT. I once (with biss-only) had the ambition
> to divide the whole AWT stuff into layers, with clean dependencies among them.
> But it doesn't work even if you go to great lengths in the implementation,
> since the circular ref is already in the interface (e.g. Component.getParent()
> -> Container, Container extends Component, java.awt.event <-> java.awt,..). I
> had to use a lot of runtime constructs in biss-only to keep this at a minimum,
> which I consider as *bad* (increasing structure complexity and runtime costs for
> pleasing the compiler). And even with this, I had to use dummy "forward"
> classes of higher layers in the lower ones - which makes the whole build
> process more eror-prone and complex instead of simplifying it. Was a good goal
> without a good way to reach it <sigh>
>
Having tried to compile biss-awt myself, I think I remember what
you're talking about.
I don't think that's the point. If you had a working "make depend"
program (rumors are there's such things), it would create make dependencies
that take circular dependencies into account. Say if A and B depend on each
other, it would create a make rule that would have an invocation of javac
with A and B on the same command line.
I've heard of JavaDepend and I think somebody said jikes would also
create them (or do I remember this wrong?), so I think it might be
worth a try.
Of course, you don't want have n invocations of javac, you want your
makefile to figure out what needs to be recompiled, and invoke it once.
- Godmar
This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 19:57:13 EDT