ExtUtils:MakeMaker如何安装配置文件



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

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

我要我的Makefile.PL到:

  • 生成所述配置文件
  • 将其安装在正确的前缀中
  • 修改所述可执行文件以设置所述配置文件的真实路径

但我不知道该怎么做。

这就是Makemaker真正痛苦的地方。你必须知道如何在make中做到这一点。

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

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

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

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

要将其从Makefile.PL添加到Makefile,您必须向MY命名空间添加特殊的子例程。这一切都记录在Makemaker中,但文档认为您对make很满意。

但是,即使你知道怎么做,所有这些都真的很痛苦。你认为你已经弄清楚了,然后有人有了不同的设置或不同类型的make。你把所有的时间都花在了繁琐的部分上,以使它在任何地方都兼容。这是Perl之神发明Module::Build的主要原因之一。添加自定义处理和修改构建目标要容易得多,都可以用Perl完成!经验法则是,如果你不知道如何使用Makemaker,那么是时候使用Module::Build了。

最新更新