dmake 是一个命令行工具,与 make(1) 兼容。dmake 能够以网格、分布、并行或串行模式生成目标。如果使用的是标准 make(1) 实用程序,在对 makefile 进行任何更改时可以毫不费力地过渡到使用 dmake。dmake 是 make 实用程序的超集。对于嵌套的 make,如果顶级 makefile 调用 make,则需要使用 $(MAKE)。dmake 会对 makefile 进行解析,并确定可以并发生成哪些目标,然后将这些目标的生成版本分布在您设置的许多主机上。
dmake 目前集成在 Solaris Studio IDE 中。缺省情况下,所有项目都是使用并行模式下运行的 dmake 生成的。用户通过项目属性可以指定完成生成任务的最大数量。缺省情况下,dmake 可以并行运行 2 个任务,这意味着许多项目的生成速度是多 CPU 系统上速度的两倍。
有关如何使用 dmake 的信息,请参见《Distributed Make (dmake)》手册。
已修复的错误:处理内容较长的条件宏时,dmake 将转储核心。
已修复的错误:实现 (TXT1/TXT2) 和文档 (TEXT1/TEXT2 ) 的 DMAKE_OUTPUT_MODE 值不同。现在,dmake 也接受值 "TEXT1" 和 "TEXT2"。
已修复的错误:"dmake -v" 在 Linux 上输出错误的版本,现在 dmake 输出正确的版本。
已修复的错误:Modula 被视为有害,Modula 编译器的旧规则已从 make.rules 文件中删除。
已修复的错误:在 KEEP_STATE 模式下的 dmake 内存泄漏
dmake 目前集成在 Solaris Studio IDE 中。这意味着,缺省情况下将使用并行模式下运行的 dmake 来生成所有项目。要更改生成模式或更改并行作业的数量,可从 IDE 中来完成:
从主菜单中选择“工具”->“选项”以打开“选项”对话框。
在“选项”中,选择 "C/C++" 图标(位于左面板)以便在右面板中显示 C/C++ 选项。
单击“项目选项”选项卡(右面板)以显示项目选项,然后选择“Make 选项”。
输入 -m parallel -j 24
按“确定”按钮。
现在,将在并行模式下生成所有项目,并且最多可生成 24 个项目任务。
-x SUN_MAKE_COMPAT_MODE=compatibility-mode 命令行选项:
-x SUN_MAKE_COMPAT_MODE=SUN(缺省),与 Solaris make 兼容
-x SUN_MAKE_COMPAT_MODE=POSIX,与 POSIX make 兼容
-x SUN_MAKE_COMPAT_MODE=GNU,与 GNU make 兼容
同样,SUN_MAKE_COMPAT_MODE 环境变量为用户提供了三个在兼容模式下指定 dmake 行为的相同选项:
SUN_MAKE_COMPAT_MODE=SUN(缺省),与 Solaris make 兼容
SUN_MAKE_COMPAT_MODE=POSIX,与 POSIX make 兼容
SUN_MAKE_COMPAT_MODE=GNU,与 GNU make 兼容
符合 UNIX 2003 标准。Solaris 10 操作系统中的 dmake 和 make 实用程序均通过了 UNIX 2003 一致性测试 (XPG5)。
dmake 现在包括了对 AMD64 体系结构上 Sun Grid Engine 的支持。
可以在 AMD64 体系结构上实现系统重载控制功能。
DMAKE_OUTPUT_MODE 环境变量提供了两个日志文件的格式选项,其中一个选项可将并行任务的输出序列化,以便日志文件更易于阅读。