The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mpp::BuildCheck::exact_match -- a signature class that requires that dependencies have exactly the same signature they did on the last build

USAGE

This is the default build check class. You don't have to do anything to use it unless you override it from the command line. You can specify it explicitly in the Makefile using

   target : dependencies
          : build_check exact_match
        $(commands_to_build)

DESCRIPTION

This class forces a recompilation if any of the following are different from the last time this particular rule was executed:

  • The build command.

  • The architecture this is running on (e.g., i386, Sparc, Alpha, etc.).

  • The signatures of each dependency.

  • The values of the each environment variable in the list of environmental dependencies.

If you want to avoid checking some of those things, you can implement another Mpp::BuildCheck class in terms of this class by passing additional optional arguments to the build_check, build_check_from_build_info, and build_cache_key methods as follows:

1. $ignore_action

Don't force a recompilation if only the build command changed.

2. $ignore_architecture

Don't force a recompilation if only the architecture changed.

It is strongly recommended that you pass the base argument list as @_, because future versions of makepp may append additional parameters to the argument list. See Mpp/BuildCheck/architecture_independent.pm for an example.