3 use ExtUtils::MakeMaker;
5 my @binscripts=qw(id3fs-index);
6 my @sbinscripts=qw(id3fsd);
8 WriteMakefile(NAME=>"id3fs",
10 EXE_FILES=>[ map( "bin/$_", @binscripts) ],
11 MAN1PODS=>{ map({ +"bin/$_" => "\${INST_MAN1DIR}/$_.1" } @binscripts) },
12 PREREQ_PM=>{ 'Fuse' => 0,
15 # dist=>{ COMPRESS=>"gzip -9f", SUFFIX=>"gz", },
17 ? (ABSTRACT => 'FUSE-based filesystem for browsing music metadata',
18 AUTHOR => 'Ian Beckwith <ianb@erislabs.net>')
22 # man 5/8 stuff adapted from vipul's razor, http://razor.sf.net
30 my $inherited = $self->SUPER::constants(@_);
35 MAN8PODS = sbin/id3fsd
36 INST_MAN8DIR = blib/man8
37 INSTALLMAN8DIR = $(PERLPREFIX)/share/man/man8
38 DESTINSTALLMAN8DIR = $(DESTDIR)$(INSTALLMAN8DIR)
39 INSTALLSITEMAN8DIR = $(SITEPREFIX)/man/man8
40 DESTINSTALLSITEMAN8DIR = $(DESTDIR)$(INSTALLSITEMAN8DIR)
41 INSTALLVENDORMAN8DIR = $(VENDORPREFIX)/share/man/man8
42 DESTINSTALLVENDORMAN8DIR = $(DESTDIR)$(INSTALLVENDORMAN8DIR)
44 SBIN_FILES = sbin/id3fsd
45 INST_SBINDIR = blib/sbin
46 INSTALLSBINDIR = $(PERLPREFIX)/sbin
47 DESTINSTALLSBINDIR = $(DESTDIR)$(INSTALLSBINDIR)
48 INSTALLSITESBINDIR = $(SITEPREFIX)/sbin
49 DESTINSTALLSITESBINDIR = $(DESTDIR)$(INSTALLSITESBINDIR)
50 INSTALLVENDORSBINDIR = $(VENDORPREFIX)/sbin
51 DESTINSTALLVENDORSBINDIR = $(DESTDIR)$(INSTALLVENDORSBINDIR)
56 return $inherited . $add;
66 my $inherited = $self->SUPER::top_targets(@_);
68 my ($perlh) = $self->catfile($Config{archlibexp}, 'CORE', "perl.h");
70 my $noecho = q{NOECHO = @} unless $inherited =~ /NOECHO/;
72 my $add = sprintf <<'MAKE_FRAG', $perlh, $perlh, $perlh, $perlh;
75 config :: $(INST_MAN8DIR)/.exists $(INST_SBINDIR)/.exists
78 $(INST_MAN8DIR)/.exists :: %s
79 @$(MKPATH) $(INST_MAN8DIR)
80 @$(EQUALIZE_TIMESTAMP) %s $(INST_MAN8DIR)/.exists
81 -@$(CHMOD) $(PERM_RWX) $(INST_MAN8DIR)
83 $(INST_SBINDIR)/.exists :: %s
84 @$(MKPATH) $(INST_SBINDIR)
85 @$(EQUALIZE_TIMESTAMP) %s $(INST_SBINDIR)/.exists
86 -@$(CHMOD) $(PERM_RWX) $(INST_SBINDIR)
87 @$(CP) $(SBIN_FILES) $(INST_SBINDIR)
92 return $inherited . $add;
98 my $inherited = $self->SUPER::manifypods(@_);
100 $inherited =~ s{^(manifypods : .*)\\}{$1 manifypods-local \\}m;
102 # MakeMaker 6.06_x through 6.13 eliminated the POD2MAN macro.
104 unless ($inherited =~ /^POD2MAN\b/m)
106 $pod2man=q{POD2MAN = $(POD2MAN_EXE)};
108 my $manifypods_local = sprintf <<'MAKE_FRAG', $pod2man;
113 manifypods-local : sbin/id3fsd
114 $(POD2MAN) -s $(MAN8EXT) sbin/id3fsd $(INST_MAN8DIR)/id3fsd.$(MAN8EXT)
119 return $inherited . "\n" . $manifypods_local;
127 my $inherited = $self->SUPER::install(@_);
128 $inherited =~ s/(^\s*\$\(INST_)MAN3(DIR\s*.*)MAN3(DIR\))/${1}MAN3${2}MAN3${3} \\\n${1}SBIN${2}SBIN${3}/gm;
129 $inherited =~ s/(^\s*\$\(INST_MAN)3(DIR\s*.*MAN)3(DIR\))/${1}3${2}3$3 \\\n${1}8${2}8$3/gm;