1 |
require 5.006; # lower versions of perl not supported |
2 |
|
3 |
use Config; |
4 |
use ExtUtils::MakeMaker; |
5 |
use PDL::Core::Dev; |
6 |
|
7 |
{ |
8 |
local $ENV{CC} = "$Config{cc} $Config{cppflags} $Config{ccflags} $Config{cccdlflags}"; |
9 |
print "$ENV{CC}\n"; |
10 |
system "cd sndlib && ./configure"; |
11 |
} |
12 |
|
13 |
@pack = ["audio.pd",Audio,PDL::Audio]; |
14 |
%hash = pdlpp_stdargs(@pack); |
15 |
|
16 |
$hash{depend}{'Audio.o'} = 'xlib.h remez.h'; |
17 |
$hash{depend}{'xlib.o'} = 'xlib.h remez.h'; |
18 |
$hash{OBJECT} = "Audio.o xlib.o remez.o"; |
19 |
|
20 |
do "./config.pl"; |
21 |
|
22 |
$hash{PM}{'Scales.pm'} = '$(INST_LIBDIR)/Audio/Scales.pm'; |
23 |
$hash{PM}{'Pitches.pm'} = '$(INST_LIBDIR)/Audio/Pitches.pm'; |
24 |
|
25 |
push @{$hash{DIR}}, "sndlib"; |
26 |
|
27 |
WriteMakefile(%hash, |
28 |
MYEXTLIB => "sndlib/sndlib.a", |
29 |
VERSION_FROM => 'audio.pd', |
30 |
DIR => [], |
31 |
XS => { |
32 |
"Audio.xs" => "Audio.c", |
33 |
}, |
34 |
); |
35 |
|
36 |
sub MY::postamble { |
37 |
my $self=shift; |
38 |
pdlpp_postamble(@pack)." |
39 |
|
40 |
.EXPORT_ALL_VARIABLES: |
41 |
|
42 |
force: |
43 |
|
44 |
\$(MYEXTLIB): force |
45 |
cd sndlib && \$(MAKE) |
46 |
|
47 |
"; |
48 |
} |