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.
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.
José João Almeida
Please report any bugs or feature requests to
email@example.com, 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-2011 Ruben Fonseca, et al, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.