/usr/local/CPAN/Genezzo/Makefile.PL
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
'NAME' => 'Genezzo',
'ABSTRACT' => 'extensible database system',
'AUTHOR' => 'Jeffrey I Cohen (jcohen@cpan.org)',
# 'LICENSE' => 'gpl',
'VERSION_FROM' => 'lib/Genezzo.pm', # finds $VERSION
'PREREQ_PM' => {
'Text::ParseWords' => '0.0',
'Text::Soundex' => '0.0',
'Term::ReadLine' => '0.0',
'File::Copy' => '0.0',
'File::Compare' => '0.0',
'File::Path' => '0.0',
'File::Spec' => '0.0',
# 'IO::File' => '0.0',
'IO::Handle' => '0.0',
'Parse::RecDescent' => '1.94'
}, # e.g., Module::Name => 1.1
'EXE_FILES' => [ 'lib/Genezzo/gendba.pl', 'lib/Genezzo/genexp.pl' ], # install in /usr/bin
);
package MY;
# Alter the Makefile to be more like Module::Build
# See ExtUtils::MM_Any
# From Chris Reinhardt NET::DNS
sub metafile {
my $self = shift;
my $meta = $self->SUPER::metafile_target(@_);
my ($extra) = $self->echo('license: gpl', 'META.yml', 1);
my ($e2) =
$self->echo('abstract: an extensible database system (with SQL and DBI)',
'META.yml', 1);
my ($e3) =
$self->echo('author: Jeffrey I Cohen (jcohen@cpan.org)',
'META.yml', 1);
return "$meta\t$extra\n\t$e2\n\t$e3\n";
}
# use postamble to build havok.sql, syshook.sql, SQL.pm
sub postamble { <<'END_POSTAMBLE'; }
#pm_to_blib: GENEZZO_SPECIAL
GENEZZO_SPECIAL: GENEZZO_HAVOK GENEZZO_SYSHOOK GENEZZO_SQL
GENEZZO_HAVOK: lib/Genezzo/Havok.pm
$(PERLRUNINST) -MGenezzo::Havok -e 'print Genezzo::Havok::MakeSQL();' > lib/Genezzo/havok.sql
GENEZZO_SYSHOOK: lib/Genezzo/Havok/SysHook.pm
$(PERLRUNINST) -MGenezzo::Havok::SysHook -e 'print Genezzo::Havok::SysHook::MakeSQL();' > lib/Genezzo/syshook.sql
GENEZZO_SQL: lib/Genezzo/Parse/SQLGrammar.pl
($(PERLRUNINST) lib/Genezzo/Parse/SQLGrammar.pl ; mv SQL.pm lib/Genezzo/Parse)
END_POSTAMBLE
## GENEZZO_SQL: lib/Genezzo/Parse/SQLGrammar.pl
## ($(PERLRUN) lib/Genezzo/Parse/SQLGrammar.pl; $(PERLRUN) -MExtUtils::Install -e 'pm_to_blib({SQL.pm => blib/Genezzo/Parse/SQL.pm})')