perl - Makefile.PL : Installing multiple scripts and binaries

标签 perl makefile

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

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

  • lib/my_package/main.pl
  • bin/daemon/daemon.pl (*)
  • bin/plugin/plugin.pl (*)
  • 脚本/conf/conf.sh (*)
  • 脚本/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 以使其将这四个文件安装在相应的目录中?

    最佳答案

    来自 ExtUtils::MakeMaker 的两个想法文档:

    使用 PL_FILES范围。解释文档:
    PL_FILES => {'bin/install.PL' => 'an-arg'}将运行 bin/foobar.PLperl bin/installPL an-arg
    或者让 MakeMaker 在生成的 makefile 中添加一个新目标。使用 postamble特征。

    或者,是的,Module::InstallDist::Zilla (自从我上次查看以来,可能还有另一个 Perl 模块可以做到这一点,它是一种活泼的小语言)。

    关于perl - Makefile.PL : Installing multiple scripts and binaries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3438778/

    相关文章:

    c++ - 头文件和 makefile 如何帮助 C++ 中的增量编译?

    perl - Perl中的递归目录遍历

    Perl:复杂数据结构的校验和

    testing - 将模块与 makefile (Ocaml) 结合使用时出现问题

    c++ - G++ 在 makefile 中使用时停止工作

    c++ - 存档问题不是 C 中链接的体系结构 (x86_64)

    c++ - 在 CLion 中导入非 cmake GitHub 项目

    linux - 当另一个线程在 Perl 中停止时停止一个线程

    perl - 如何在不使用 Data::Compare 的情况下比较 Perl 中的两个哈希?

    html - perl 测试内容以查看是否包含 HTML