The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Daiku - Make for Perl

SYNOPSIS

    #! perl
    use Daiku;
    use autodie ':all';

    desc 'do all tasks';
    task 'all' => 'foo';
    file 'foo' => 'foo.o' => sub {
        system "gcc -c foo foo.o";
    };
    rule '.o' => '.c' => sub {
        system "gcc -c foo.o foo.c";
    };

    build shift @ARGV || 'all';

DESCRIPTION

Daiku is yet another build system for Perl5.

FUNCTIONS

desc $desc:Str

Description of following task.

task $name:Str, \@deps:ArrayRef[Str]
task $name:Str, \@deps:ArrayRef[Str], \&callback
task $name:Str, $deps:Str
task $name:Str, $deps:Str, \&callback

Register .PHONY task to registrar.

file $name, $deps:Str, \&code
file $name, \@deps:ArrayRef[Str], \&code

Register a file creation rule.

rule $dst:Str, $src:Str, \&callback:CodeRef

Register a suffix rule. It's same as following code on Make.

    .c.o:
        cc -c $<
build $task : Str

Build one object named $task.

namesace $namespace:Str, \&codeblock

Declare namespace of tasks. Namespaces are separated by colon.

NOTE

This module doesn't detect recursion, but Perl5 can detect it.

AUTHOR

Tokuhiro Matsuno <tokuhirom AAJKLFJEF GMAIL COM>

SEE ALSO

Rake, make(1)

LICENSE

Copyright (C) Tokuhiro Matsuno

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.