in reply to Re: cpan module with binary data: when to build?
in thread cpan module with binary data: when to build?
update: lots of whining snipped out here.
Thank you. And Smylers. After quite a lot of headbanging, and with your help, I've got something that seems to work.
I can't use this:
depend => { all => 'example_data' }
because it creates a single-colon rule for 'all' and there is already a double-colon rule for 'all' (and for 'test', and 'install'). The answer is to intercept the double-colon rule and prepend the extra dependency. It's ugly, but it works. The same technique is used in the Template Toolkit (ie I nicked it from there), and if it's good enough for TT...
This is what I've added to the usual Makefile.PL:
package MY; sub postamble { return <<"EOF"; data: \tperl ./useful/makedb.pl EOF } sub test { my $class = shift; my $makefragment = $class->SUPER::test(@_); $makefragment =~ s/^(test ::)/$1 data/m; return $makefragment; } sub install { my $class = shift; my $makefragment = $class->SUPER::install(@_); $makefragment =~ s/^(install ::)/$1 data/m; return $makefragment; }
The 'data' target just invokes an external script, as you can see. Cleaner that way, and easier for people to edit.
Thanks for your help.
|
|---|