Slay::MakerRule - a class for making things with dependencies
use strict ; use Slay::MakerRule ; $t1 = Slay::MakerRule->new( { rule => [ \@target, ## Filenames made by \@actions \@dependencies, ## Files or Slay::MakerRule objects \@actions, ## Command lines or sub{} ] } ) ;
Any or all of the three parameters may be scalars if there is only one thing to pass:
$t1 = Slay::MakerRule->new( { rule => [ $target, $dependency, $action, ] } ) ;
New can also be called with separate hash elements for each part:
$t1 = Slay::MakerRule->new( { PATS => \@target, ## Filenames made by \@actions DEPS => \@dependencies, ## Files or Slay::MakerRule objects ACTS => \@actions, ## Command lines or sub{} ] } ) ;
Static function, mostly for internal use. Called by "check" to expand variables inside a dependency. Returns the expanded string.
Recognized expansions:
$
${
}
Expands to the value of $matches->[digits-1] (like in the normal s/// operator)
$matches->[
-1]
s///
$TARGET
${TARGET}
Expands to the value of $target
$target
$ENV{
Expands to the value of the environment variable name.
Builds the queue of things to make if this target or its dependencies are out of date.
Executes the action(s) associated with this rule.
returns either ( target1, target2, ... ) or "target1, target2, ..." depending on context.
Checks the target list to see if it matches the target passed in.
To install Slay::Maker, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Slay::Maker
CPAN shell
perl -MCPAN -e shell install Slay::Maker
For more information on module installation, please visit the detailed CPAN module installation guide.