#!/usr/local/bin/perl -w use 5.005; # Need look-behind assertions use Getopt::Std; use Make; my %opt; getopts('Dgnpf:j:C:',\%opt); my $info = Make->new(GNU => $opt{'g'}, Override => { MAKE => "$^X $0" }, Makefile => $opt{'f'}, Jobs => $opt{'j'}, Dir => $opt{'C'}); if ($opt{'D'}) { require Data::Dumper; print Data::Dumper::DumperX($info); exit; } if ($opt{'p'}) { $info->Print(@ARGV); exit; } if ($opt{'n'}) { $info->Script(@ARGV); } else { $info->Make(@ARGV); } =head1 NAME pmake - a perl 'make' replacement =head1 SYNOPSIS pmake [-n] [-g] [-p] [-C directory] targets =head1 DESCRIPTION Performs the same function as make(1) but is written entirely in perl. A subset of GNU make extensions is supported. For details see L for the underlying perl module. =head1 BUGS =item * No B<-k> flag I strongly suspect there are lots more. =head1 SEE ALSO L, make(1) =head1 AUTHOR Nick Ing-Simmons =cut