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