ExtUtils::MakeMaker custom target
Asked Answered
J

1

6

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.

Johppa answered 12/2, 2014 at 5:46 Comment(0)
L
3

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
}
Lipo answered 12/2, 2014 at 17:23 Comment(4)
I've read the CPAN doc for MakeMaker, it's extremely vague on how to do this.Ashelman
Not sure where exactly you've seen the information on how to define custom make targets in MakeMaker docs; please clarify.Johppa
@AlexTokarev I've added the example of a custom target from here to my answer.Lipo
Thanks, that should work! That paragraph is really tiny, no wonder I overlooked it.Johppa

© 2022 - 2024 — McMap. All rights reserved.