
Makefile::Parallel - A distributed parallel makefile

This module should not be called directly. Please see the perldoc of the pmake program on the /examples directory of this distribution.

Ruben Fonseca,
<root@cpan.org>
Alberto Simões <ambs@cpan.org>
José João Almeida <jj@di.uminho.pt>

Please report any bugs or feature requests to bug-makefile-parallel@rt.cpan.org,
or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Makefile-Parallel.
I will be notified,
and then you'll automatically be notified of progress on your bug as I make changes.

Copyright 2006-2008 Ruben Fonseca, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Main function. Accepts a file to parse and a hash reference with options.
TODO: Document options

Tries to recover the journal of the last makefile run.

This function is responsible to clean all the temporary files created by the PBS system. It should be used only on the PBS scheduler method.

Loop it baby :D

This function is responsible of reaping the jobs that are finnished. If the job needs to run something at the end (example, find i <- grep | awk...) it is executed and the job queue is expanded.

This function goes through the finnished job and tries to find asShell commands to run, doing all the expands necessary

This function goes through the finnished job and tries to find asPerl commands to run, doing all the expands necessary

this function evaluates a perl action and retruns a list of strings. the action can:
.return a ARRAY reference, .print a list of lines to STDOUT (to be splited end chomped) .or return a string (to be splited and chomped)

This function is responsible of expanding all the jobs when a variable is evaluated. It expands both forks and joins.

Print a pretty report bla bla bla

This function is responsible for dispatching the jobs that can run.

This function checks if the specified job is already done in the finnished list.

This sub is called at the program exit

Saves the scheduler state to disk.

Calculates the MD5 of the current makefile

This one finds out if a job can run (all the dependencies are met).

Launch a process (really??)

Builds a preety graphviz file after the execution of the makefile

This function is called everytime the user send a SIGINT to this process. The objective is to kill all the running processes and wait for them to die.