dmake - parallel make from Distributed Make
dmake [-c dmake-rcfile]
[-g dmake-group]
[-j dmake-max-jobs]
[-m {serial | parallel}] [-x
MODE_NAME=VALUE]
[-o dmake-odir] [-R]
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.
- -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.
For the general usage, see the make(1s) man page for more
information.
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.
- 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.
See make(1s) for a list of files.
make(1s), attributes(7), largefile(7)
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.
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.
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.