Perl Makefile.PL:安装多个脚本和二进制文件
给定一个Perl Makefile.PL:安装多个脚本和二进制文件,perl,makefile,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
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,让它将这四个文件安装到相应的目录中?如果切换到Module::Build
,您只需使用
.来自
ExtUtils::MakeMaker
文档的两个想法:
使用PL\u文件
参数。要解释文档,请执行以下操作:
PL\u FILES=>{'bin/install.PL'=>'an arg'}
将以perl-bin/installPL-an arg
的形式运行bin/foobar.PL
或者让MakeMaker使用postamble
功能将新目标添加到生成的makefile
或者,是的,
Module::Install
或Dist::Zilla
(自从我上次查看以来,可能还有另一个Perl模块来做这件事,它是一种活泼的小语言)。一个“makefile.pl”标记会很好哦,我应该提到的是,目录的名称是保留的,但是文件名已经更改以保护无辜者:)您是否检查了perldoc ExtUtils::MakeMaker?相关:这不是我希望的,但为什么不是?