Module::Install::MakeMaker(3) 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.


Adam Kennedy <[email protected]>

Audrey Tang <[email protected]>

Brian Ingerson <[email protected]>


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.