我正在使用ExtUtils :: MakeMaker来分发我的perl模块,该模块由PM文件和可执行文件组成。
可执行文件必须加载配置文件。
我想要Makefile.PL:
但我不知道该怎么做。
答案 0 :(得分: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 ,您必须向MY
命名空间添加特殊子例程。这些都记录在Makemaker中,但文档假设您对make
感到满意。
但是,即使你知道怎么做,所有这些都是屁股的痛苦。你认为你弄清楚了,然后有人有不同的设置或不同类型的make
。你把所有的时间花在精巧的位上,以使它在任何地方都兼容。这是Perl众神发明Module::Build的主要原因之一。添加自定义处理和修改构建目标要容易得多,和你可以在Perl中完成所有操作!经验法则是,如果您不知道如何使用Makemaker进行操作,则可以使用Module::Build。