1#!/usr/bin/perl -w 2# $Id: Makefile.PL,v 1.9 2003/11/16 07:07:26 ianb Exp $ 3# ianb@nessie.mcc.ac.uk 20031019 4 5use ExtUtils::MakeMaker; 6 7WriteMakefile(NAME=>"mp3lint", 8 VERSION_FROM=>"bin/mp3lint", 9 EXE_FILES=>["bin/mp3lint", "bin/mp3lintskip", "bin/mp3lintsum"], 10 PL_FILES=>{"docs/mp3lint-tools.pod.PL" => "docs/mp3lint-tools.pod" }, 11 MAN1PODS=>{ "bin/mp3lint" => '${INST_MAN1DIR}/mp3lint.1', 12 "bin/mp3lintskip" => '${INST_MAN1DIR}/mp3lintskip.1', 13 "bin/mp3lintsum" => '${INST_MAN1DIR}/mp3lintsum.1',}, 14 MAN3PODS=>{ "docs/mp3lint-tools.pod" => '${INST_MAN3DIR}/mp3lint-tools.3',}, 15 PREREQ_PM=>{'MP3::Archive' => 0}, 16 clean=>{ FILES => "docs/mp3lint-tools.pod" }, 17 dist=>{ COMPRESS=>"gzip -9f", SUFFIX=>"gz", }, 18 ($] >= 5.005 19 ? (ABSTRACT => 'Checks a tree of audio files', 20 AUTHOR => 'Ian Beckwith <ianb@nessie.mcc.ac.uk>') 21 : ()), 22 ); 23 24 25# man 5 stuff adapted from vipul's razor, http://razor.sf.net 26 27{ 28package MY; 29 30sub constants { 31 32 my $self = shift; 33 my $inherited = $self->SUPER::constants(@_); 34 35 my $add = q{ 36 37# begin mp3lint 38MAN5PODS = docs/mp3lintrc.pod 39INST_MAN5DIR = blib/man5 40INSTALLMAN5DIR = $(PREFIX)/man/man5 41DESTINSTALLMAN5DIR = $(DESTDIR)$(INSTALLMAN5DIR) 42INSTALLSITEMAN5DIR = $(SITEPREFIX)/man/man5 43DESTINSTALLSITEMAN5DIR = $(DESTDIR)$(INSTALLSITEMAN5DIR) 44INSTALLVENDORMAN5DIR = $(VENDORPREFIX)/man/man5 45DESTINSTALLVENDORMAN5DIR = $(DESTDIR)$(INSTALLVENDORMAN5DIR) 46MAN5EXT = 5 47INST_SYSCONFDIR = blib/etc 48INSTALLSYSCONFDIR = /usr/local/etc 49DESTINSTALLSYSCONFDIR = $(DESTDIR)$(INSTALLSYSCONFDIR) 50# end mp3lint 51 52}; 53 54 return $inherited . $add; 55 56} 57 58 59sub MY::top_targets { 60 61 use Config; 62 63 my $self = shift; 64 my $inherited = $self->SUPER::top_targets(@_); 65 66 my ($perlh) = $self->catfile($Config{archlibexp}, 'CORE', "perl.h"); 67 68 my $noecho = q{NOECHO = @} unless $inherited =~ /NOECHO/; 69 70 my $add = sprintf <<'MAKE_FRAG', $perlh, $perlh, $perlh, $perlh; 71 72# begin mp3lint 73config :: $(INST_MAN5DIR)/.exists $(INST_SYSCONFDIR)/.exists 74 @$(NOOP) 75 76$(INST_MAN5DIR)/.exists :: %s 77 @$(MKPATH) $(INST_MAN5DIR) 78 @$(EQUALIZE_TIMESTAMP) %s $(INST_MAN5DIR)/.exists 79 -@$(CHMOD) $(PERM_RWX) $(INST_MAN5DIR) 80 81$(INST_SYSCONFDIR)/.exists :: %s 82 @$(MKPATH) $(INST_SYSCONFDIR) 83 @$(EQUALIZE_TIMESTAMP) %s $(INST_SYSCONFDIR)/.exists 84 -@$(CHMOD) $(PERM_RWX) $(INST_SYSCONFDIR) 85 @$(CP) etc/mp3lintrc $(INST_SYSCONFDIR) 86# end mp3lint 87 88MAKE_FRAG 89 90 return $inherited . $add; 91} 92 93 94sub MY::manifypods { 95 my $self = shift; 96 my $inherited = $self->SUPER::manifypods(@_); 97 98 $inherited =~ s{^(manifypods : .*)\\}{$1 manifypods-local \\}m; 99 100 # MakeMaker 6.06_x through 6.13 eliminated the POD2MAN macro. 101 my $pod2man = ""; 102 unless ($inherited =~ /^POD2MAN\b/m) 103 { 104 $pod2man=q{POD2MAN = $(POD2MAN_EXE)}; 105 } 106 my $manifypods_local = sprintf <<'MAKE_FRAG', $pod2man; 107 108# begin mp3lint 109%s 110 111manifypods-local : docs/mp3lintrc.pod 112 $(POD2MAN) -s $(MAN5EXT) docs/mp3lintrc.pod $(INST_MAN5DIR)/mp3lintrc.$(MAN5EXT) 113 114#end mp3lint 115MAKE_FRAG 116 117 return $inherited . "\n" . $manifypods_local; 118 119} 120 121 122sub MY::install { 123 124 my $self = shift; 125 my $inherited = $self->SUPER::install(@_); 126 my $conf="\t\t\$(INST_SYSCONFDIR) \$(DESTINSTALLSYSCONFDIR)"; 127 $inherited =~ s/(^\s*"?\$\(INST_MAN)3(DIR"?.*MAN)3(DIR\)"?)/${1}3${2}3$3 \\\n${1}5${2}5$3 \\\n$conf/gm; 128 129 return $inherited; 130} 131 132} 133