【发布时间】:2014-03-10 06:59:46
【问题描述】:
有没有办法让 ExtUtils::MakeMaker 生成自定义 Makefile 目标?比如说,我想做一些只有开发人员才感兴趣的特定事情,比如运行 pod 和回归测试;我可以为此使用环境变量,但是记住这样的事情有点笨拙。能够运行类似make devtest 的东西会非常方便。
【问题讨论】:
有没有办法让 ExtUtils::MakeMaker 生成自定义 Makefile 目标?比如说,我想做一些只有开发人员才感兴趣的特定事情,比如运行 pod 和回归测试;我可以为此使用环境变量,但是记住这样的事情有点笨拙。能够运行类似make devtest 的东西会非常方便。
【问题讨论】:
By default,MakeMaker makefile 带有一个test 目标,它运行当前目录中test.pl 中的所有回归测试以及运行glob("t/*.t") 时匹配glob("t/*.t") 的所有文件。您的典型用法应该是:
perl Makefile.PL
make
make test
make install
您可以定义自己的make 目标,在CPAN documentation for the module 和手册页中有一些关于您可以设置的变量的信息。
这是 CPAN 文章中的示例:
sub MY::postamble {
return <<'MAKE_FRAG';
$(MYEXTLIB): sdbm/Makefile
cd sdbm && $(MAKE) all
MAKE_FRAG
}
【讨论】: