OSDN Git Service

update Makefile.PL to install all files correct place (ticket: #18886)
[keitairc/keitairc.git] / Makefile.PL
1 # -*-perl-*-
2 # $Id: Makefile.PL,v 1.6 2009-10-16 11:19:07 ishikawa Exp $
3 # $Source: /home/ishikawa/work/keitairc/tmp/keitairc/Makefile.PL,v $
4
5 use 5.8.0;
6 use ExtUtils::MakeMaker;
7
8 my %pms;
9 map {$d = $_; $d =~ s@lib/Keitairc/@\$(INST_LIBDIR)/Keitairc/@; $pms{$_} = $d} glob('lib/Keitairc/*.pm');
10
11 my $data = join(' ', map ({s!^lib/!!g ; $_} glob('lib/templates/*/*.html lib/plugins/[0-9]* lib/public/*.{ico,js,css,txt} lib/public/iui/*.{css,js,png,gif}')));
12
13 my $docs = join(' ', map ({s!^doc/!!g ; $_} glob('doc/*.{gif,psd,png,html,css,jpg} doc/iui/*.txt')));
14
15 WriteMakefile(
16         NAME => 'keitairc',
17         AUTHOR => 'Jun Morimoto <morimoto@mrmt.net>',
18         LICENSE => 'GPL2',
19         PREREQ_PM => {
20                 'POE::Component::Server::TCP' => 0,
21                 'POE::Filter::HTTPD' => 0,
22                 'POE::Component::IRC' => 0,
23                 'URI::Escape' => 0,
24                 'HTTP::Response' => 0,
25                 'HTML::Template' => 0,
26                 'Net::HTTP' => 0,
27                 'Net::SMTP' => 0,
28                 'XML::Simple' => 0,
29                 'Proc::Daemon' => 0,
30                 'AppConfig' => 0,
31                 'Encode' => 0,
32         },
33         EXE_FILES => ['keitairc'],
34         PM => \%pms,
35         PM_FILTER => "sed -e 's!__KEITAIRC_DATA_DIR__!\$(KEITAIRC_DATADIR)!g'",
36         'macro' => {
37                 KEITAIRC_DATADIR => '$(PREFIX)/share/keitairc',
38                 KEITAIRC_DATA => $data,
39                 KEITAIRC_DOCSDIR => '$(PREFIX)/share/doc/keitairc',
40                 KEITAIRC_DOCS => $docs,
41         }
42 );
43
44 sub MY::postamble {
45         my $self = shift;
46         return <<MAKE_FRAG
47 install ::
48         for i in \$(KEITAIRC_DATA) ; do [ -d \$(DESTDIR)/\$(KEITAIRC_DATADIR)/\$\$(dirname \$\$i) ] || mkdir -p \$(DESTDIR)/\$(KEITAIRC_DATADIR)/\$\$(dirname \$\$i) ; install -m 644 lib/\$\$i \$(DESTDIR)/\$(KEITAIRC_DATADIR)/\$\$i ; done
49
50 install_doc ::
51         for i in \$(KEITAIRC_DOCS) ; do [ -d \$(DESTDIR)/\$(KEITAIRC_DOCSDIR)/\$\$(dirname \$\$i) ] || mkdir -p \$(DESTDIR)/\$(KEITAIRC_DOCSDIR)/\$\$(dirname \$\$i) ; install -m 644 doc/\$\$i \$(DESTDIR)/\$(KEITAIRC_DOCSDIR)/\$\$i ; done
52         install -m 644 etc/dot.keitairc \$(DESTDIR)/\$(KEITAIRC_DOCSDIR)/
53 MAKE_FRAG
54 }