update for the other 2 cases too
[imager.git] / dynfilt / Makefile.PL
1 use Config;
2 use ExtUtils::MakeMaker;
3 $Verbose = 1;
4
5 $lddl=$Config{"lddlflags"};
6
7 @plugins= qw(dyntest dt2 mandelbrot flines);
8
9 $libstr=join(' ',map { $_.'.$(SO)' } @plugins);
10
11 #print $libstr,"\n";
12 #print $objstr,"\n";
13 #print MY::top_targets();
14
15 WriteMakefile(
16     NAME      => 'Imager::plugins',
17     SKIP      => [qw(all dynamic static )],
18     clean     => {'FILES' => $libstr},
19 );
20
21
22
23
24 sub lddl_magic {
25   my $t;
26   $t=$lddl;
27   $t=~s/-bI:\$\(PERL_INC\)\/perl.exp//;
28   $t=~s/\$\(BASEEXT\)/$_[0]/;
29   return $t;
30 }
31
32
33
34
35 sub MY::top_targets {
36     use Config;
37 if ($^O eq 'aix') {
38         '
39 all :: dynamic
40
41 dynamic ::       '.$libstr.(join("\n",map { qq{
42
43 $_.\$(SO): $_\$(OBJ_EXT)
44         LD_RUN_PATH="\$(LD_RUN_PATH)" \$(LD) -o \$\@ }.lddl_magic($_).qq{ \$(OTHERLDFLAGS) $_\$(OBJ_EXT)
45
46 } } @plugins)).'
47
48
49 pure_all :: 
50         $(NOOP)
51
52 ';
53
54 }
55 elsif ($^O =~ /win32/i && $Config{cc} =~ /cl/) {
56     my @libpth = grep /\S/, split /("[^"]*"|\S+)/,$Config{libpth};
57     
58         '
59 all :: dynamic
60
61 dynamic ::       '.$libstr.(join("\n",map { qq{
62
63 $_.\$(SO): $_\$(OBJ_EXT)
64     \$(LD) /OUT:\$\@ }.lddl_magic($_).qq{ \$(OTHERLDFLAGS) $_\$(OBJ_EXT) $Config{libs} }.join(' ', map "/libpath:$_", @libpth).qq{
65
66 } } @plugins)).'
67
68
69 pure_all :: 
70         $(NOOP)
71
72 ';
73
74 } else {
75         '
76 all :: dynamic
77
78 dynamic ::       '.$libstr.(join("\n",map { qq{
79
80 $_.\$(SO): $_\$(OBJ_EXT)
81         LD_RUN_PATH="\$(LD_RUN_PATH)" \$(LD) -o \$\@ \$(LDDLFLAGS) \$(OTHERLDFLAGS) $_\$(OBJ_EXT)
82
83 } } @plugins)).'
84
85
86 pure_all :: 
87         $(NOOP)
88
89 ';
90
91 }
92 }