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