---
name: "Module::Install::Makefile"
section: "3pm"
platform: "linux"
package: "perl-module-install"
version: "1.21-6"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Module::Install::Makefile"
---

# Module::Install::Makefile(3pm)

Extension Rules for ExtUtils::MakeMaker

## NAME

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

## SYNOPSIS

In your *Makefile.PL*:

```
    use inc::Module::Install;
    WriteMakefile();
```

## DESCRIPTION

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.

## CONFIGURATION OPTIONS

This module also adds some Configuration parameters of its own:

### NAME

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.

### VERSION

**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.

## MAKE TARGETS

**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.

## SEE ALSO

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

## AUTHORS

Adam Kennedy \<adamk@cpan.org\>

Audrey Tang \<autrijus@autrijus.org\>

Brian Ingerson \<INGY@cpan.org\>

## COPYRIGHT

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.
