require 5.006; # lower versions of perl not supported
use Config;
use ExtUtils::MakeMaker;
use PDL::Core::Dev;
{
local $ENV{CC} = "$Config{cc} $Config{cppflags} $Config{ccflags} $Config{cccdlflags}";
print "$ENV{CC}\n";
system "cd sndlib && ./configure";
}
@pack = ["audio.pd",Audio,PDL::Audio];
%hash = pdlpp_stdargs(@pack);
$hash{depend}{'Audio.o'} = 'xlib.h remez.h';
$hash{depend}{'xlib.o'} = 'xlib.h remez.h';
$hash{OBJECT} = "Audio.o xlib.o remez.o";
do "./config.pl";
$hash{PM}{'Scales.pm'} = '$(INST_LIBDIR)/Audio/Scales.pm';
$hash{PM}{'Pitches.pm'} = '$(INST_LIBDIR)/Audio/Pitches.pm';
push @{$hash{DIR}}, "sndlib";
WriteMakefile(%hash,
'dist' => {
PREOP => 'pod2text Audio.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;',
COMPRESS => 'gzip -9v',
SUFFIX => '.gz',
},
MYEXTLIB => "sndlib/sndlib.a",
VERSION_FROM => 'audio.pd',
DIR => [],
EXE_FILES => ["bin/pdlaudio-demo", "bin/pdlaudio-birds"],
XS => { "Audio.xs" => "Audio.c" },
);
sub MY::postamble {
my $self=shift;
pdlpp_postamble(@pack)."
.EXPORT_ALL_VARIABLES:
force:
\$(MYEXTLIB): force
cd sndlib && \$(MAKE)
clean::
cd sndlib && \$(MAKE) clean
";
}