Makefile.PL:安装多个脚本和二进制文件

时间:2010-08-09 09:34:06

标签: perl makefile

鉴于Makefile.PL,如何在四个不同的位置安装两个二进制文件和两个脚本?

更准确地说,目录结构如下:

  • LIB / my_package / main.pl
  • bin / daemon / daemon.pl(*)
  • bin / plugin / plugin.pl(*)
  • scripts / conf / conf.sh(*)
  • scripts / init / initd.sh(*)
  • Makefile.PL

标有(*)的文件应安装在以下路径中:

  • /usr/sbin/daemon.pl
  • /var/qmail/smtpplugins/plugin.pl
  • /usr/local/conf.sh
  • /etc/init.d/initd.sh

以及我Makefile.PL

的内容
use ExtUtils::MakeMaker;

WriteMakefile(
    NAME         => "my_package",
    VERSION_FROM => "lib/my_package/main.pl"
);

通过Makefile.PL告诉perl如何让它在相应的目录中安装这四个文件?

2 个答案:

答案 0 :(得分:1)

ExtUtils::MakeMaker文档中的两个想法:

使用PL_FILES参数。要解释文档:  PL_FILES => {'bin/install.PL' => 'an-arg'}bin/foobar.PL作为perl bin/installPL an-arg

运行

或让MakeMaker使用makefile功能为生成的postamble添加新目标。

或者,是的,Module::InstallDist::Zilla(可能还有另外一个Perl模块,因为我上次看过它,它是一种生动的小语言。)

答案 1 :(得分:0)

如果切换到Module::Build,您只需使用即可 install_path