nmake这个工具在visual c++中包含,为了安装一个perl modules 去安装这个么大一个IDE,可能觉得不值得,其实还可以用一些小的比如Dev-Cpp++等一些免费的Windows SDK ,节省时间。
    安装完后,设置一下环境变量。
为了最后用源代码安装的modules可以再被其他人使用,需要下载一些unix系统上常见的压缩和打包工具:
下载地址:http://www.weihenstephan.de/~syring/win32/UnxUtils.html
这里面包含的工具很多,几乎可以和最小化安装的linux工具包媲美,在windows下使用一样可以发挥其强大杀伤力。

解压到系统目录,同样需要设置一下环境变量。

首先在cpan下载源代码
解压 ,利用perl构建Makefile

>perl Makefile.PL


然后用nmake编译C源代码,编译前可以带一些编译参数

>nmake


编译完了,可以测试一下是否编译成功

>nmake test


如果没有问题 就可以安装

>nmake install


安装完了,可以构建其发布包

>nmake ppd


对生成的makefile,可以
make config 检查makefile是否最新
make clean  清除本地临时文件
make realclean 清除临时文件 包括./blib


在nmake之后,perl需要的包文件都放在./blib 下
然后压缩

>tar cvf xxx.tar.gz blib


打包

>gizp --best xxx..tar.gz


生成ppd文件

>nmake ppd


然后对生存的ppd文件进行稍微修改,就可以分发给其他人使用。





下面以Mail-SendEasy为例实做

Quotation
C:\Mail-SendEasy-1.2>perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Mail::SendEasy


Quotation

C:\Mail-SendEasy-1.2>nmake

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

cp lib/Mail/SendEasy/Base64.pm blib\lib\Mail\SendEasy\Base64.pm
cp lib/Mail/SendEasy/AUTH.pm blib\lib\Mail\SendEasy\AUTH.pm
cp lib/Mail/SendEasy/IOScalar.pm blib\lib\Mail\SendEasy\IOScalar.pm
cp lib/Mail/SendEasy.pm blib\lib\Mail\SendEasy.pm
cp lib/Mail/SendEasy/SMTP.pm blib\lib\Mail\SendEasy\SMTP.pm


Quotation
C:\Mail-SendEasy-1.2>nmake test

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

        C:\Perl\bin\perl.exe "-Iblib\lib" "-Iblib\arch" test.pl
1..6
# Running under perl version 5.010000 for MSWin32
# Win32::BuildNumber 1004
# Current time local: Sat Nov  1 11:03:28 2008
# Current time GMT:   Sat Nov  1 03:03:28 2008
# Using Test.pm version 1.25
ok 1

----------------
SMTP SERVER for the tests: mail.139.com
USERNAME: 13800138000
PASSWORD: askwan
FROM: 13800138000@139.com
TO: askwa@yahoo.cn

----------------
SETS:
  host: mail.139.com
  user: 13800138000
  pass: askwan
  from: 13800138000@139.com
  to:   askwan@yahoo.cn
----------------
ok 2
not ok 3
# Failed test 3 in test.pl at line 62
#  test.pl line 62 is:   ok($status) ;
Invalid recipient: 13800138000## AUTH TESTS:
ok 4
ok 5
ok 6

The End! By!



Quotation
C:\Mail-SendEasy-1.2>nmake install

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

Installing C:\Perl\html\site\lib\Mail\SendEasy.html
Installing C:\Perl\html\site\lib\Mail\SendEasy\AUTH.html
Installing C:\Perl\html\site\lib\Mail\SendEasy\SMTP.html
Installing C:\Perl\site\lib\Mail\SendEasy.pm
Installing C:\Perl\site\lib\Mail\SendEasy\AUTH.pm
Installing C:\Perl\site\lib\Mail\SendEasy\Base64.pm
Installing C:\Perl\site\lib\Mail\SendEasy\IOScalar.pm
Installing C:\Perl\site\lib\Mail\SendEasy\SMTP.pm
Appending installation info to C:\Perl\lib/perllocal.pod


生成ppd文件
Quotation
C:\Mail-SendEasy-1.2>nmake ppd

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

打包
Quotation
C:\Mail-SendEasy-1.2>tar cvf Mail-SendEasy-1.2.tar blib
blib/
blib/arch/
blib/arch/.exists
blib/arch/auto/
blib/arch/auto/Mail/
blib/arch/auto/Mail/SendEasy/
blib/arch/auto/Mail/SendEasy/.exists
blib/bin/
blib/bin/.exists
blib/html/
blib/html/site/
blib/html/site/lib/
blib/html/site/lib/Mail/
blib/html/site/lib/Mail/SendEasy/
blib/html/site/lib/Mail/SendEasy/AUTH.html
blib/html/site/lib/Mail/SendEasy/SMTP.html
blib/html/site/lib/Mail/SendEasy.html
blib/lib/
blib/lib/auto/
blib/lib/auto/Mail/
blib/lib/auto/Mail/SendEasy/
blib/lib/auto/Mail/SendEasy/.exists
blib/lib/Mail/
blib/lib/Mail/.exists
blib/lib/Mail/SendEasy/
blib/lib/Mail/SendEasy/AUTH.pm
blib/lib/Mail/SendEasy/Base64.pm
blib/lib/Mail/SendEasy/IOScalar.pm
blib/lib/Mail/SendEasy/SMTP.pm
blib/lib/Mail/SendEasy.pm
blib/man1/
blib/man1/.exists
blib/man3/
blib/man3/.exists
blib/script/
blib/script/.exists

压缩
C:\Mail-SendEasy-1.2>gzip --best Mail-SendEasy-1.2.tar

得到的Mail-SendEasy.ppd文件

<SOFTPKG NAME="Mail-SendEasy" VERSION="1,2,0,0">
    <TITLE>Mail-SendEasy</TITLE>
    <ABSTRACT>Send plain/html e-mails through SMTP servers (platform independent). Supports SMTP authentication and attachments.</ABSTRACT>
    <AUTHOR>Graciliano M. P. &lt;gm@virtuasites.com.br&gt;</AUTHOR>
    <IMPLEMENTATION>
        <OS NAME="MSWin32" />
        <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.10" />
      < CODEBASE HREF="" />
    </IMPLEMENTATION>
</SOFTPKG>


<CODEBASE HREF="" />
修改为
<CODEBASE HREF="Mail-SendEasy-1.2.tar.gz" />
这样Mail-SendEasy.ppd和Mail-SendEasy-1.2.tar.gz 就是我们需要的东西了
  

作者:askwan@『AskWan』
地址:http://www.askwan.com/post/126/
可以转载,转载时请以链接形式注明作者和原始出处及本声明!

Tags: , , ,
Scripts | Comments(0) | Trackbacks(0) | Reads(1303)
收藏到网摘:百度搜藏 Google书签 Yahoo收藏 新浪ViVi收藏夹 365天天网摘 天极网摘 我摘·网摘·网络书签 POCO网摘 和讯网摘 Bolaa博拉博客收录中心 天下图摘
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Remember
Nickname   Password   Optional
Site URI   Email   [Register]