The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use ExtUtils::MakeMaker;
use ExtUtils::F77;

use PDL::LiteF;
use PDL::Core::Dev;

( my $NCARG_ROOT = $ENV{NCARG_ROOT} )
or die "
Please set the environment variable NCARG_ROOT to the installation path of 
your NCAR distribution, and rerun perl Makefile.PL.

";

open AUTO_INCLUDE, ">pdl_auto_include.h";
print AUTO_INCLUDE &PDL_AUTO_INCLUDE;
close AUTO_INCLUDE;

open BOOT, ">pdl_boot.xsh";
print BOOT "BOOT:\n";
print BOOT &PDL_BOOT;
close BOOT;


my @NCARLIBS = qw( cgm ncarg ncarg_c ncarg_gks ncarg_ras ngmath );

WriteMakefile(
    'ABSTRACT'          => 'XS interface to NCAR graphics libraries',
    'AUTHOR'            => 'Philippe Marguinaud pmarguinaud@hotmail.com',
    'NAME'		=> 'NCAR',
    'VERSION_FROM'	=> 'NCAR.pm',
    'PREREQ_PM'		=> { PDL => '2.3.4' },
    'DEFINE'		=> 'ExtUtils::F77'->trail_()
                         ? '' 
                         : '-DNO_TRAILING_USCORE',
    'INC'		=> join( ' ', 
                             &PDL_INCLUDE,
                             '-I.',
                           ), 
    'TYPEMAPS'          => [ &PDL_TYPEMAP ],
    'LIBS'		=> [
                             join( ' ',
                               "-L$NCARG_ROOT/lib",
                               '-L/usr/X11R6/lib',
                               map( { "-l$_" } @NCARLIBS ),
                               '-lXext',
                               '-lm',
                               'ExtUtils::F77'->runtime(),
                             ),
                           ],
    'OBJECT'            => join( ' ',
                             'NCAR.o', 
                             map( { "$NCARG_ROOT/lib/lib$_.a" } @NCARLIBS ),
                           ),
    'test'              => { TESTS => 'test/*.t' },
    'MYEXTLIB'          => 'user/libuser.a',
);

sub MY::postamble {
'
$(MYEXTLIB): user/Makefile
	cd user && $(MAKE) $(PASSTHRU)
';
}