2

我正在使用 ExtUtils::MakeMaker 分发我的 perl 模块,该模块由一个 PM 文件和一个可执行文件组成。

可执行文件必须加载配置文件。

我希望我的 Makefile.PL :

  • 生成配置文件;
  • 将其安装在正确的 PREFIX 中;
  • 修改可执行文件以设置配置文件的真实路径。

但我不知道如何做到这一点。

4

1 回答 1

3

这就是 Makemaker 真正痛苦的地方。您必须知道如何在make.

首先,Makefile.PL只是一个 Perl 程序,所以你可以用它做任何你想做的事情。

其次,您可以将.PL文件用作运行以生成真实文件的程序。例如,您可以有一个lib/Module.pm.PL。在构建时,系统运行该程序并使用输出创建blib/lib/Module.pm。请参阅PL_FILES.

第三,您可以向make目标添加任务,以便在正确的时间进行处理。双冒号目标添加到已定义的任务中。

 all ::
      perl create_config.pl > config.pl
      install ... config.pl

要将其从Makefile.PL 添加到 Makefile 您必须将特殊子例程添加到命名空间。这一切都记录在 Makemaker 中,但文档假设您对.MYmake

但是,即使您知道该怎么做,所有这些都确实是一件令人头疼的事情。你认为你已经弄清楚了,然后有人有不同的设置或不同类型的make. 您将所有时间都花在繁琐的位上,以使其在任何地方都兼容。这是 Perl 之神发明Module::Build的主要原因之一。添加自定义处理和修改构建目标要容易得多,而且您可以在 Perl 中完成这一切!经验法则是,如果您不知道如何使用 Makemaker,那么是时候使用Module::Build了。

于 2012-07-09T13:12:37.850 回答