TinyMake is a minimalist build language, similar in purpose to make and ant.
SYNOPSIS
use TinyMake ':all';
# a file statement without a rule is like a symbolic target
file all => ["codeGen", "compile", "dataLoad", "test"];
file codeGen => ["database.spec"], sub {
# generate code here
sh "touch $target";
} ;
file compile => ["codeGen"], sub {
# compile code here
sh "touch $target";
} ;
file dataLoad => ["codeGen"], sub {
# load data here
sh "touch $target"
} ;
file test => ["compile", "dataLoad"], sub {
# test code here
sh "touch $target";
} ;
# a file statement without prerequisites will be executed
# if the target doesn't exist.
file clean => sub {
# perform cleanup here
sh "rm compile codeGen dataLoad test"
} ;
make @ARGV
This Perl Module allows you to define file-based dependencies similar to how make works.Rather than placing the build rules in a separate Makefile or build.xml, the build rules are declared using standard Perl syntax. TinyMake is effectively an inline domain-specific language. Using make you might write a makefile that looks like this...
test: compile dataLoad
# test
touch test
codeGen: database.spec
# generate code
touch codeGen
compile: codeGen
# compile code
touch compile
dataLoad: codeGen
# load data
touch dataLoad
database.spec: # source file
The equivalent perl code using TinyMake would look like this...
use TinyMake ':all';
# some perl code
.
.
.
file test => ["compile","dataLoad"], sub { # test
`touch test`;
} ;
file codeGen => "database.spec", sub { # generate code
`touch codeGen`;
} ;
# some more perl code
.
.
.
file compile => "codeGen", sub { # compile code
`touch compile`;
} ;
file dataload => "codeGen", sub { # load data
`touch dataLoad`;
} ;
make @ARGV;
· Ключевые особенности и характеристики TinyMake 0.06
Не определены
· Ограничения TinyMake 0.06
Ограничения не определены
· Специальные требования TinyMake 0.06
· Perl
· История версий и изменений TinyMake
История пуста
· Описание и дополнения от редакторов и пользователей сайта