man Module::Install::Makefile () - Extension Rules for ExtUtils::MakeMaker


Module::Install::MakeMaker - Extension Rules for ExtUtils::MakeMaker


This document describes version 0.01 of Module::Install::MakeMaker, released March 1, 2003.


In your Makefile.PL:

    use inc::Module::Install;


This module is a wrapper around ExtUtils::MakeMaker. It exports two functions: CWprompt (an alias for CWExtUtils::MakeMaker::prompt) and CWWriteMakefile.

The CWWriteMakefile function will pass on keyword/value pair functions to CWExtUtils::MakeMaker::WriteMakefile. The required parameters CWNAME and CWVERSION (or CWVERSION_FROM) are not necessary if it can find them unambiguously in your code.


This module also adds some Configuration parameters of its own:


The NAME parameter is required by ExtUtils::MakeMaker. If you have a single module in your distribution, or if the module name indicated by the current directory exists under lib/, this module will use the guessed package name as the default.

If this module can't find a default for CWNAME it will ask you to specify it manually.


ExtUtils::MakeMaker requires either the CWVERSION or CWVERSION_FROM parameter. If this module can guess the package's CWNAME, it will attempt to parse the CWVERSION from it.

If this module can't find a default for CWVERSION it will ask you to specify it manually.


ExtUtils::MakeMaker provides you with many useful CWmake targets. A CWmake target is the word you specify after CWmake, like CWtest for CWmake test. Some of the more useful targets are:

* all
This is the default target. When you type CWmake it is the same as entering CWmake all. This target builds all of your code and stages it in the CWblib directory.
* test
Run your distribution's test suite.
* install
Copy the contents of the CWblib directory into the appropriate directories in your Perl installation.
* dist
Create a distribution tarball, ready for uploading to CPAN or sharing with a friend.
* clean distclean purge
Remove the files created by CWperl Makefile.PL and CWmake.
* help
Same as typing CWperldoc ExtUtils::MakeMaker.

This module modifies the behaviour of some of these targets, depending on your requirements, and also adds the following targets to your Makefile:

* cpurge
Just like purge, except that it also deletes the files originally added by this module itself.
* chelp
Short cut for typing CWperldoc Module::Install.
* distsign
Short cut for typing CWcpansign -s, for Module::Signature users to sign the distribution before release.


Module::Install, CPAN::MakeMaker, CPAN::MakeMaker-Philosophy


Autrijus Tang <>

Based on original works by Brian Ingerson <>


Copyright 2002, 2003, 2004 by Autrijus Tang <>, Brian Ingerson <>

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See <>