dmake(1)

DMAKE(1) SunOS Specific Commands DMAKE(1)

NAME

dmake - parallel make from Distributed Make

SYNOPSIS

dmake [-c dmake-rcfile] [-g dmake-group] [-j dmake-max-jobs]
[-m {serial parallel}] [-x MODE_NAME=VALUE]
[-o dmake-odir] [-R]

DESCRIPTION

This man page supplements the man page for the Solaris make(1s) utility.

This version of dmake(1) implements a subset of the features of the dmake(1) program delivered with the Sun Studio compiler suite. It implements serial and parallel mode, but neither the distributed nor the grid mode.

OPTIONS

-c dmake-rcfile
This version of dmake neither supports the default configuration file $(HOME)/.dmakerc nor an alternate location specified by the -c option.
-g dmake-group
This version of dmake does not support to set a dmake group via the -g option.
-j dmake-max-jobs
Specifies the maximum total number of jobs that are run in parallel.

The environment DMAKE_ADJUST_MAX_JOBS and the command line macro of the same name manage the way make controls the number of jobs. See the chapter ENVIRONMENT for more information.

-m {serial | parallel}
Allows specifying one of the following key words:
serial
Causes dmake to behave like the standard serial version of make.
parallel
Causes dmake to run several jobs in parallel on the dmake host.
-o dmake-odir
This version of dmake does not support to set a common physical directory via the -o option.
-O filedesc
This version of dmake does not support to set a file descriptor to send job start and result messages to using the -O option.
-R
Do not run in parallel mode.
-x SUN_MAKE_COMPAT_MODE=value
-x DMAKE_OUTPUT_MODE=value
Allows setting the dmake compat mode or the output mode. See ENVIRONMENT for more information.

USAGE

For the general usage, see the make(1s) man page for more information.

Special-purpose Targets

dmake supports the special targets .PARALLEL, .NO_PARALLEL, .NOTPARALLEL, .LOCAL, and .WAIT to control the way the targets are made.

.NO_PARALLEL:
Add targets to the dependency list of this target to control which targets are to be processed serially.
.NOTPARALLEL:
When this special target is seen in a makefile, all targets in this dmake instance are processed serially. Sub-makes may still run in parallel mode.
.PARALLEL:
Add targets to the dependency list of this target to control which targets are to be processed in parallel.
.LOCAL:
Add targets to the dependency list of this target to control which targets are to be processed serially on the local host. This version of dmake does not support distributed builds.
.WAIT
When this target is specified in a dependency list, dmake waits until the dependencies to the left of the .WAIT pseudo target are finished before starting to process targets to the right of .WAIT.

ENVIRONMENT/MACROS

DMAKE_ADJUST_MAX_JOBS
This macro allows one to control the parallel make behavior. The macro DMAKE_ADJUST_MAX_JOBS may either be imported from the environment or specified on the command line. The following values are possible:
YES
This is the same as specifying DMAKE_ADJUST_MAX_JOBS=M1
NO
The number of jobs is not adjusted based on the load of the system or the total number of jobs.
M1
Allow dmake to control the number of jobs based on the current system load. If the load is high, the number of jobs will be reduced. If the load is low, the number of jobs specified by the user is used.

This is the default method used to control the number of jobs.

M2
The number of jobs is adjusted based on the total number of jobs run by the current group of running make programs. This is implemented via shared memory that is set up between recursively called make programs.

DMAKE_GROUP
This version of dmake does not support to set a dmake group via the DMAKE_GROUP environment or macro.
DMAKE_MAX_JOBS
Allows setting the maximum number of jobs in case that -j was not specified.
DMAKE_MODE
May contain one of the following key words:
serial
Causes dmake to behave like the standard serial version of make.
parallel
Causes dmake to run several jobs in parallel on the dmake host.

DMAKE_ODIR
This version of dmake does not support to set the dmake-odir via the DMAKE_ODIR environment or macro.
DMAKE_OUTPUT_MODE
Controls the output format used by dmake. The following values are possible:
TXT1
The default behavior. Serialize stdout and stderr, and print a label before the output from a new job starts.
TXT2
Serialize stdout and stderr, but do not print the labels from TXT1 mode.

DMAKE_RCFILE
This version of dmake neither supports the default configuration file $(HOME)/.dmakerc nor an alternate location specified by the DMAKE_RCFILE environment or macro.
__DMAKE_M2_FILE__
If DMAKE_ADJUST_MAX_JOBS is set to M2, this environment variable holds a handle to the shared memory that is used to manage the job pool. Do never set this environment variable.

For other ENVIRONMENT/MACROS variables, see the make(1s) man page.

FILES

See make(1s) for a list of files.

SEE ALSO

make(1s), attributes(7), largefile(7)

BUGS

See make(1s) for a list of known bugs.

Mail other bugs and suggestions to schilytools@mlists.in-berlin.de or open a ticket at https://codeberg.org/schilytools/schilytools/issues.

The mailing list archive may be found at:

https://mlists.in-berlin.de/mailman/listinfo/schilytools-mlists.in-berlin.de.

AUTHORS

This version of dmake(1) was originally written by Sun Microsystems in 1993. Since 2016, it has been maintained by Joerg Schilling and the schilytools project authors.

SOURCE DOWNLOAD

The source code for dmake is included in the schilytools project and may be retrieved from the schilytools project at Codeberg at

https://codeberg.org/schilytools/schilytools.

The download directory is

https://codeberg.org/schilytools/schilytools/releases.

2022/10/06 SunOS 5.11