Go to main content
Oracle® Developer Studio 12.5: Distributed Make (dmake)

Exit Print View

Updated: June 2016
 
 

Description

This man page supplements the Oracle Solaris make utility man page. The dmake utility will run under the Linux operating system, but the dmake options will be independent of any other make utility.

Distributed Make (dmake) parses your makefiles and determines which target can be built concurrently, and distributes the build of those targets over a number of hosts set by you.

If you use the standard make utility on the Oracle Solaris operating system, the transition to dmake requires little if any alteration to your makefiles. dmake is a superset of the Oracle Solaris make utility, which can be used both on Oracle Solaris and Linux platforms. With nested makes, if a top-level makefile calls "make", you need to use $(MAKE).

You execute dmake on a dmake host and distribute jobs to build servers.

You can also distribute jobs to the dmake host, in which case the dmake host also becomes a build server. dmake distributes jobs based on makefile targets that dmake determines (based on your makefiles) can be built concurrently.

You can use any machine as a build server as long as it meets the following requirements:

  • From the dmake host (the machine you are using) you must be able to use rsh or ssh without being prompted for a password to remotely execute commands on the build server.

    The following example shows the result of using rsh or ssh with the which command as a test on a machine running the Oracle Solaris operating system:

    demo% rsh machine_name which dmake
    /bin/dmake
    demo% ssh machine_name which dmake
    /bin/dmake

    The rsh or ssh call must be clean, returning no additional output.

  • The bin directory in which the dmake software is installed must be accessible from the build server. By default, dmake assumes that the logical path to the dmake executables on the build server is the same as the dmake host. This assumption can be overridden by specifying a path name as an attribute of the host entry in the runtime configuration file.

  • The /etc/opt/SPROdmake/dmake.conf file exists on the host, is readable, and contains the correct information. If this file does not exist, dmake will distribute only one job on this system

From the dmake host you can control which build servers are used and how many dmake jobs are allotted to each build server.

The number of dmake jobs that can run on a given build server can also be limited on that server.