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


In your Makefile.PL:

    use inc::Module::Install;


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

The WriteMakefile function will pass on keyword/value pair functions to ExtUtils::MakeMaker::WriteMakefile. The required parameters NAME and VERSION (or VERSION_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 NAME it will ask you to specify it manually.


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

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


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

  • all

    This is the default target. When you type make it is the same as entering make all. This target builds all of your code and stages it in the blib directory.

  • test

    Run your distribution's test suite.

  • install

    Copy the contents of the blib 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 perl Makefile.PL and make.

  • help

    Same as typing perldoc 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 perldoc Module::Install.

  • distsign

    Short cut for typing cpansign -s, for Module::Signature users to sign the distribution before release.


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


Adam Kennedy <>

Audrey Tang <>

Brian Ingerson <>


Some parts copyright 2008 - 2012 Adam Kennedy.

Copyright 2002, 2003, 2004 Audrey Tang and Brian Ingerson.

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