2010-08-09 79 views
4

給定Makefile.PL,如何在四個不同位置安裝兩個二進制文件和兩個腳本?Makefile.PL:安裝多個腳本和二進制文件

爲了更精確,目錄結構如下:

  • LIB/my_package/main.pl
  • 倉/守護/ daemon.pl(*)
  • 倉/插件/插件特等(*)
  • 腳本/ CONF/conf.sh(*)
  • 腳本/ INIT/initd.sh(*)
  • Makefile.PL

中的文件標有(*)應安裝在以下路徑:

  • /usr/sbin/daemon.pl
  • /var/qmail/smtpplugins/plugin.pl
  • /USR /本地/ 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使它能夠在相應的目錄中安裝這四個文件?

+1

一個「makefile.pl」標籤本來是不錯的 – Tom 2010-08-09 09:34:31

+0

呵呵,我應該提到目錄名保存下來,但是文件名已經更改以保護無辜者:) – Tom 2010-08-09 09:39:42

+1

您是否檢查過' perldoc ExtUtils :: MakeMaker'? – Dummy00001 2010-08-09 10:37:35

回答

0

如果您切換到Module::Build,您可以簡單地使用 install_path。從ExtUtils::MakeMaker文檔

+0

不是我所希望的,但爲什麼不呢? – Tom 2010-08-10 10:14:14

1

兩個想法:

使用PL_FILES參數。套用文檔: PL_FILES => {'bin/install.PL' => 'an-arg'}將運行bin/foobar.PLperl bin/installPL an-arg

還是有MakeMaker的使用postamble功能添加一個新的目標所產生的makefile

或者,是的,Module::InstallDist::Zilla(自從我上次查看時,可能還有另一個Perl模塊可以做到這一點,它是活潑的小語言)。

相關問題