. \" @(#)dmake.1 1.13 21/06/12 Copyr 2017-2021 J. Schilling . \" Manual Seite fuer dmake
CDDL HEADER START

The contents of this file are subject to the terms of the
Common Development and Distribution License ("CDDL"), version 1.0.
You may use this file only in accordance with the terms of version
1.0 of the CDDL.

A full copy of the text of the CDDL should have accompanied this
source. A copy of the CDDL is also available via the Internet at
http://www.opensource.org/licenses/cddl1.txt

When distributing Covered Code, include this CDDL HEADER in each
file and include the License file at usr/src/OPENSOLARIS.LICENSE.
If applicable, add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your own identifying
information: Portions Copyright [yyyy] [name of copyright owner]

CDDL HEADER END

DMAKE 1 "2021/06/12" "SunOS 5.11" "SunOS Specific Commands"
NAME
dmake - parallel make from Distributed Make
SYNOPSIS
dmake " [" -c dmake-rcfile "] ["\c -g dmake-group\c "] ["\c -j dmake-max-jobs\c ]

" [" "-m " { serial \c | parallel }\c "] [" -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

24 -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 VARIABLES for more information.

-m { serial " | " parallel } Allows to specify one of the following key words:

10 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.

0 "-x SUN_MAKE_COMPAT_MODE=" value

"-x DMAKE_OUTPUT_MODE=" value

Allows to set 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\s0, .NO_PARALLEL\s0, .NOTPARALLEL\s0, .LOCAL\s0, and .WAIT to control the way the targets are made.

17 .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 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 to set the maximum number of jobs in case that -j was not specified.

DMAKE_MODE May contain one of the following key words:

10 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:

8 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 (5), largefile (5)
AUTHORS
This version of dmake (1) was originally written by Sun Microsystems in 1993. Since 2016, it is maintained by J\*org Schilling.

"SOURCE DOWNLOAD"
The source code for the SunPro Make is included in the schilytools project and may be retrieved from the schilytools project at Sourceforge at:

http://sourceforge.net/projects/schilytools/

The download directory is:

http://sourceforge.net/projects/schilytools/files/

Check for the schily-*.tar.bz2 archives.

Separate project informations for the Schily SunPro Make project may be retrieved from:

http://schilytools.sourceforge.net/sunpromake.html