The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

build

  my $handle = build($objinfo);

Starts building the specified object. When build() returns, the object may not have been built yet; build() returns a handle (see Mpp/Event.pm for details) which you can wait on if you want to wait until the build is actually done. The usual idiom is

  wait_for build($objinfo);

If you do this, of course, you make it harder for makepp to build targets in parallel because the makepp process will not spawn any other build requests until this one is done.

When any targets are built, the global variable $n_files_changed is updated.

parse_command_line

  parse_command_line(@ARGV, \%environment_hash);

Parses and executes the given command line. Loads whatever makefiles are necessary and builds the appropriate targets, or at least starts off the build. (It doesn't wait until the build is finished.) Returns a list of build handles.

The environment must be provided as a reference to a hash. Any rules which are executed have the environment set to this value before the shell is invoked.

This parser only accepts options which are valid during recursive makes or from the load_makefile command. There are other options which are handled by the mainline makepp code which are not accepted here.

parse_command_line assumes that the current directory is the proper directory for executing the command.