Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ExtUtils::MakeMaker custom target

Tags:

perl

makemaker

Is there a way to have a custom Makefile target to be generated by ExtUtils::MakeMaker? Say, I'd like to do some specific things that only a developer is interested in, like running pod and regression tests; I can use env variables for that but that's a bit unwieldy to remember things like that. Being able to run something like make devtest instead would be mighty handy.

like image 240
Alex Tokarev Avatar asked Oct 21 '22 14:10

Alex Tokarev


1 Answers

Regression Testing with ExtUtils::MakeMaker

By default, MakeMaker makefiles come with a test target which runs all of the regression tests in test.pl in the current directory as well as all files matching glob("t/*.t") when you run make test. Your typical usage should be:

perl Makefile.PL
make
make test
make install

You can define your own make targets, there's some information about the variables you can set in the CPAN documentation for the module as well as the manpage.

This is the example from the CPAN article:

sub MY::postamble {
    return <<'MAKE_FRAG';
    $(MYEXTLIB): sdbm/Makefile
    cd sdbm && $(MAKE) all
    MAKE_FRAG
}
like image 62
Glitch Desire Avatar answered Oct 23 '22 05:10

Glitch Desire