Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

MAKE(1)  —  USER COMMANDS

NAME

make − ParallelMake supplemental information

SYNOPSIS

make [ −M machinesfile ] [ −R ]

NOTE

This man page describes the additional functionality provided by the parallel processing version of make - ParallelMake. (ParallelMake is included as part of the SPARCworks/TeamWare product). For information describing the standard features of make, execute the man command using the −M option to specify the path name where your system man pages are located (for example, man -M /usr/man make). 

DESCRIPTION

This version of make reads your makefiles and automatically determines which targets can be built in parallel and distributes the build of those targets over a number of processes set by you. 

If you already use the standard make command, the transition to ParallelMake is very simple; most makefiles require little if any alteration, and the command is virtually identical to standard make. 

The machinesfile file contains entries that consist of:

• A machine name

• The maximum number of concurrent jobs to distribute on that machine

When a machinesfile is not specified using the −M option, make attempts to obtain this information from a file named .make.machines in the user’s home directory. 

If the .make.machines file does not exist, or if there is no machinesfile entry for the local machine, or if a max value is not specified with the local machine entry, then make defaults to four (4) as the maximum number of concurrent jobs. 

OPTIONS

−M machinesfile Use the machine description file machinesfile

−R Turn off parallelizing features.  Run in standard make mode. 

USAGE

Reading .make.machines

When make first starts, it reads the .make.machines file in the user’s home directory to determine the maximum number of concurrent jobs allowed on the local machine. 

Special-function Targets

When incorporated in a makefile, the following target  names perform special-functions:

.NO_PARALLEL:

If defined in the makefile, make builds the dependents of this target serially. If this target is included without any dependents, make builds all objects serially. 

.PARALLEL:

If defined in the makefile, make builds the dependents of this target in parallel. This target may be used to force parallelization when the .NO_PARALLEL: target has been defined without any dependents. 

.WAIT:

If this target appears in a dependency list, make finishes processing all dependents that precede it before processing dependents that follow. 

EXAMPLES

The following is a sample .make.machines file:

venus max=1
pluto
mercury
jupiter max=4

The following statement demonstrates the use of the .WAIT target to indicate that the headers must be constructed before anything else:

all: hdrs .WAIT libs program

The following statement demonstrates the use of the .NO_PARALLEL target to force make to build all of OBJECTS serially:

.NO_PARALLEL:  $(OBJECTS)

The following statements demonstrate the use of the .PARALLEL: and .NO_PARALLEL: targets to globally restrict parallelization and then specifically enable it for an exception case. 

All objects are forced to be processed serially by including the .NO_PARALLEL target without any dependents. However, LIB_OBJECTS can be built in parallel, and is so indicated by using the target: PARALLEL:

.NO_PARALLEL:
.PARALLEL:  $(LIB_OBJECTS)

FILES

.make.machines Machines file located in the user’s home directory. 

SEE ALSO

ParallelMake User’s Guide

DIAGNOSTICS

"Ignoring unknown host"
The .make.machines file includes the name of a host that cannot be found in the hosts database. See the file /etc/hosts or NIS documentation. 

Sun Release 4.1  —  Last change: 01 December 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026