The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/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<Make> for the underlying perl module.

=head1 BUGS

=item *

No B<-k> flag

I strongly suspect there are lots more.

=head1 SEE ALSO

L<Make>, make(1)

=head1 AUTHOR

Nick Ing-Simmons 

=cut