Panotools::Makefile::Rule - Assemble Makefile rules
Simple interface for generating Makefile syntax
Writing Makefiles directly from perl scripts with print and "\t" etc... is prone to error, this library provides a simple perl interface for assembling Makefile rules.
my $rule = new Panotools::Makefile::Rule;
..or additionally specify targets at creation time
my $rule = new Panotools::Makefile::Rule ('all');
A Makefile rule always has one or more 'targets', these are typically filenames, but can be 'phony' non-files.
(phony targets should be listed as perequisites of the special .PHONY target)
$rule->Targets ('output1.txt', 'output2.txt');
..or equivalently:
$rule->Targets ('output1.txt'); $rule->Targets ('output2.txt');
Rules can have zero or more 'prerequisites', again these are typically filenames, but can be 'phony' non-files.
$rule->Prerequisites ('input1.txt', 'input2.txt');
$rule->Prerequisites ('input1.txt'); $rule->Prerequisites ('input2.txt');
Rules zero or more 'commands':
$rule->Command ('cp', 'input1.txt', 'output1.txt'); $rule->Command ('cp', 'input2.txt', 'output2.txt');
Assemble all this into string that can be written to a Makefile:
my $string = $rule->Assemble;
To install Panotools::Script, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Panotools::Script
CPAN shell
perl -MCPAN -e shell install Panotools::Script
For more information on module installation, please visit the detailed CPAN module installation guide.