View on
Alberto Manuel Brandão Simões > Makefile-Parallel > Makefile::Parallel



Annotate this POD

View/Report Bugs
Module Version: 0.09   Source  


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.

process_makefile ^

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

TODO: Document options

journal_recover ^

Tries to recover the journal of the last makefile run.

clean ^

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 ^

Loop it baby :D

reap_dead_bodies ^

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.

find_and_run_asShell ^

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

find_and_run_asPerl ^

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

paction_list ^

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)

expand_forks ^

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

report ^

Print a pretty report bla bla bla

dispatch ^

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

is_finnished ^

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

at_exit ^

This sub is called at the program exit

write_journal ^

Saves the scheduler state to disk.

calc_makefile_md5 ^

Calculates the MD5 of the current makefile

can_run_jub ^

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

launch ^

Launch a process (really??)

graphviz ^

Builds a preety graphviz file after the execution of the makefile

process_interrupt ^

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.


Ruben Fonseca, <>

Alberto Simões <>

José João Almeida <>


Please report any bugs or feature requests to, or through the web interface at 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.

syntax highlighting: