Make.pm - Main make module for Parrot
Cross-platform make for Parrot.
Platform-dependent variables and extensions go here. For instance, the extension for executables varies widely between Windows and UNIX. UNIX doesn't use any extension, Windows uses .exe. Differences like these are encapsulated in the %extensions hash. Programs that differ from platform-to-platform are stored in %programs. This may end up being configured from Configure.pl.
%extensions
%programs
These functions isolate the makefile from needing to know what extension a file needs to have. For instance, object files are used to create an executable. Ordinarily, a long list of objects would be declared in a makefile like classes/perlarray$(O) classes/perlhash$(O).
classes/perlarray$(O) classes/perlhash$(O)
Instead, all of these functions accept either a single input filename or an array of filenames. So, the above makefile would look more like:
$class_objects = Object(input => [qw(classes/perlarray classes/perlhash)]);
Given the name of an executable (with no extensions), returns the executable's name along with the appropriate extension. This is not an object, merely a function returning a string.
The input can also be an array of executables, to help
Given the name of an object file (with no extension), return the object's full name along with the appropriate extension. Also operates on array of file names.
Given the name of an shared object file (with no extension), return the object's full name along with the appropriate extension.
To install Make, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Make
CPAN shell
perl -MCPAN -e shell install Make
For more information on module installation, please visit the detailed CPAN module installation guide.