NAME

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 envirnoment variable in the list of environmental dependencies.

If you want to avoid checking some of those things, you can implement another 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 BuildCheck/architecture_independent.pm for an example.