Re: Testing parallel builds
On Fri, 12 Oct 2007 15:34:45 +0200, Pierre THIERRY <[email protected]> said:
> Scribit Manoj Srivastava dies 09/10/2007 hora 00:04:
>> It is kinda scary that my typical ./debian/rules has a minimum of 61
>> targets, and that is just the base number. But it sure makes for
>> pretty pictures :)
> How did you generate those dependency graphs, BTW? I didn't find
> anything relevant in the reverse dependencies of graphviz...
Heh. It was simple:
1) use sed to substitute '/#.*$//g' from target.mk, and pipe the output
to
2) grep for ^[^^I:]+: in targets.mk (bot tab, not : stuff, followed
by colons and save
3) eliminate anything that is extraneous (nothing in my case)
4) now, you have a file full of lines like
target target : deendency dependency (or ::)
5) Write a little Perl script that reads that, and creates
dependencies: for each target, add a dependency as needed, so the
line above will break out into 4 dependencies.
6) For all targets, spit out a node line
7) for all targets, spit uout an edge line for all dependencies
8) Go in with emacs and replace color values for different nodes, make
some filled, others not, and so on. Not too bad, really.
The interesting thing is, now I realize that my dependency graph
is suboptimal: for example, if you wanted to do just arch-dependent or
arch-indep packages, my new dependency graph does config for both arch
dependenct and arch indep packages -- though only arch-dependent or
arch-independent packages are created. This is because the dependency
graph comes together at choke points.
I need to change my Make dependencies to allow for parrallel
dependency lines -- so you can build just arch dependent package, or
arch-indep packages, and not have to go through targets on the other
side.
Would there be any interest in my final target dependency tree?
Please let me know off-list.
manoj
--
History tends to exaggerate. Col. Green, "The Savage Curtain", stardate
5906.4
Manoj Srivastava <[email protected]> <http://www.debian.org/~srivasta/>
1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C
Reply to: