help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: running parallel make jobs and avoiding jumbled/garbled output?


From: Per Jessen
Subject: Re: running parallel make jobs and avoiding jumbled/garbled output?
Date: Wed, 27 Feb 2008 20:10:51 +0100
User-agent: KNode/0.10.4

Alexander Kriegisch wrote:

>> I've not yet investigated the problem, but when running with -j4, a
>> lot of the jobs were simply not run or only partially done. I'm not
>> entirely certain about how to track this down - your thoughts would
>> be much appreciated.
> 
> I cannot say for sure, but I would suspect that some dependencies are
> not depicted correctly in your makefiles. Something which could also
> complicate things is resursive make which, as we all know, is to be
> considered harmful. ;-) If you do use recursive make within your own
> realm (i.e. your own makefiles, not external ones you cannot
> influence), you might want to refactor them to one big logical
> makefile with included sub-files.
> 
> Sorry for speculating so much, but I do not know enought about your
> environment.

No need to apologize - let me try to explain what we're doing:

the makefile being executed with -j4 has about 5000 final targets. The
list of targets and dependencies is being generated then included upon
which we have a re-execute of the make. 

Dependency-wise, a single target looks like this:

          <target>.data, <target>.xml 
            v                     v
            v                     v
            v                     v
<target>.html, <target>.text      v
            v                     v
            v                     v
            v                     v
                 <target>.email
                       v
                       v
                  send email

It's a little difficult to depict here, but the dependency graph is
really quite simple.  And no recursive makes. 


/Per Jessen, Z├╝rich





reply via email to

[Prev in Thread] Current Thread [Next in Thread]