Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.984.493 Times

Slay::Makefile 0.01

  Date Added: March 25, 2010  |  Visits: 625

Slay::Makefile

Report Broken Link
Printer Friendly Version


Product Homepage
Download (73 downloads)

Slay::Makefile is a wrapper to Slay::Maker that reads the rules from a file. SYNOPSIS Slay::Maker is a make engine that uses perl declaration syntax for rules, including regular expressions for targets and anonymous subs for targets, dependencies, and actions. This Slay::Makefile wrapper allows for the rules to be contained within a SlayMakefile file whose syntax is similar to that of a normal Makefile. FILE SYNTAX The file syntax is a series of statements where each statement is one of: < perl-block > < target(s) > : < dependencies > < actions > [-] include < filename > # Comment < perl-block > has the syntax: { < perl-statement(s) > } where < perl-statement(s) > is any series of perl statements. < target(s >) is either a space-delimited set of targets, each of which is either a literal string or a < perl-block > which returns an array, each of which is either a literal string or a regular expression (Regexp) reference (qr/.../). A literal string can contain a % character to act as a wild-card, just as with GNU make. However, the Regexp feature is more general, since it can capture more than one substring and use the values $!, $2, ... inside the dependencies. Note that only one target can realistically contain wildcards, whether in a Regexp or using %, since there is only one set of $1, $2, ... variables. The colon separating a < perl-block > for < target(s) > must be on the same line as the closing brace of the < perl-block >. < dependencies > is either a space-delimited set of dependency strings or a < perl-block > which returns an array of dependencies (or a combination). The dependency string can contain $1, $2, ..., or %, which is synonymous with $1 and ${TARGET}, which gets the target name. They can also use any scalar global variables previously defined in a < perl-block >. A dependency < perl-block > receives an array @_ with the values ($make, $target, $matches), where $make is a Slay::Maker object, $target is the target name, and $matches is a reference to an array containing the captured values from that targets Regexp (if any). The colon separating a < perl-block > for must be on the same line as the opening brace of the < perl-block >. < actions > is a series of zero or more action "lines", where each action is either a string, which will be executed inside a shell, a perl anonymous array, which is executed without a shell (see IPC::Run), or a < perl-block >. For purposes of this discussion, a "line" continues as long as the lines of string action end with "" or as long as a perl anonymous array or < perl-block > do not have their closing punctuation. A string action can use the strings $1, $2, ..., for the matches, $DEP0, $DEP1, ..., for the dependencies, and $TARGET, which represents the target being built. For make enthusiasts, $* can be used for $1. A string action can also use any scalar global variables previously defined in a < perl-block >. An include line includes the content of a file with < filename > as a SlayMakefile file. If there is no such file, Slay::Makefile will try to build it using rules that have already been presented. If there is no such rule, Slay::Makefile exits with an error unless there was a - before the "include". The equivalent of makes defines are handled by setting perl global variables. Each main < perl-block > is executed in the order it appears in the file, but any that is part of a dependency or action is evaluated lazily, so that all the global variables will have been set. Comments begin with a # and extend to the end of line. Continuation lines can be specified by putting a backslash at the end of the previous line, provided however, that continuation lines are unnecessary (automatic) within a perl block or perl anonymous array. METHODS new Class method. Creates a new Slay::Makefile object. maker Method. Returns the Slay::Maker object used by this Slay::Makefile object. make (@targets) Method. Calls the Slay::Maker objects make method to build the list of targets. If no targets are given, makes the targets of the first rule with constant targets. parse ($filename) Method. Parses file $filename as a SlayMakefile and populates the Slay::Maker object with its rules. Returns a reference to an array of parse errors. parse_string ($string, [$filename, [$lineno]]) Method. Parses $string as a SlayMakefile. If $filename and/or $lineno arguments are provided, they are used for more detailed error reporting. Returns a reference to an array of parse errors..

Requirements: No special requirements
Platforms: Linux
Keyword: Array File Global Variables Libraries Programming Rules Slaymakefile String Target Targets
Users rating: 0/10

License: Freeware Size: 13.31 KB
SLAY::MAKEFILE RELATED
Libraries  -  Devel::FindGlobals 0.03
Devel::FindGlobals is a Perl module to find global variables and their size. SYNOPSIS use Devel::FindGlobals; print print_globals_sizes(); This module just runs around and over the symbol table, finds global variables, gets their sizes with...
3.07 KB  
Libraries  -  vars::global 0.0.1
vars::global is a Perl module that tries to make global variables a little safer. SYNOPSIS # In the place/package where we want to create globals use vars::global create => qw( $foo @bar %baz ); # Add some more global symbols...
7.17 KB  
Libraries  -  Data::Startup 0.04
SYNOPSIS ###### # Subroutine interface # use Data::Startup qw(config override); $options = override(%default_options, @option_list ); $options = override(%default_options, @option_list ); $options = override(%default_options, %option_list...
74.75 KB  
Libraries  -  Perl6::Contexts 0.4
Perl6::Contexts - array and hash variables turn into references to themselves when used in non-numeric scalar context or as function arguments. SYNOPSIS my @foo = ( 1 .. 20 ); my $foo = @foo; # same as: my $foo = @foo; my $foo = 0 + @foo; #...
17.41 KB  
Libraries  -  Daizu::File 0.3
Daizu::File is a Perl class representing files in working copies. Each object of this class represents a particular file in a Daizu CMS working copy (a record in the wc_file table). METHODS Note that all the functions which return the value...
419.84 KB  
Business  -  TecUtils 0.3.0
tecutils provides various utilities to accelerate development of programs design to use MySQL as a database and substitute the use of global variables.
20.48 KB  
Libraries  -  Tie::File 0.96
Tie::File can access the lines of a disk file via a Perl array. SYNOPSIS # This file documents Tie::File version 0.96 use Tie::File; tie @array, Tie::File, filename or die ...; $array[13] = blah; # line 13 of the file is now blah print...
67.58 KB  
Libraries  -  VCS::PVCS 0.02
VCS::PVCS is a Perl module with global configuration class for for VCS::PVCS::*. SYNOPSIS use VCS::PVCS::Project; # preferred $project = new VCS::PVCS::Project("ProjectName"); The VCS::PVCS class simply parses the PVCS global configuration...
26.62 KB  
Libraries  -  App::Conf::File 0.965
App::Conf::File is a Perl module to load and access configuration data. SYNOPSIS use App::Conf; $config = App::Conf->new(); $config = App::Conf->new(configFile => $file); print $config->dump(), "n"; # use Data::Dumper to spit out the Perl...
122.88 KB  
Libraries  -  Tie::Array::PackedC 0.03
Tie::Array::PackedC is a tie a Perl array to a C-style array (packed; elements of a single, simple data type). SYNOPSIS use Tie::Array::PackedC qw(packed_array packed_array_string); my $ref=packed_array(1,2,3,4); my...
6.14 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.12.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB