Home    Product Info    Orders    Downloads    About Us    Contact Us


Opus Make v6.12 Addendum

This addendum documents the changes from Make v6.11 to 6.12 and from MKMF v6.11 to MKMF v6.12. This addendum will be included in the next revision of the manual. The changes are listed in order according to where they will appear in the next manual. The page numbers are for the Make v6.10 manual.

1.4  Upgrading To Opus Make v6.12

New Features for v6.12 (p5: Add before the "New Features for v6.11")

1.5  Upgrading To Opus MKMF v6.12

New Features for v6.12 (p8: Added before "New Features for v6.11")


The Dependency Line Separator ":"(p55: Replace the section with the following)

The ":" between targets and sources on a dependency line is also the character used for the drive separator in MS-DOS, OS/2, Win95 and WinNT. To distinguish this colon from the drive separator, single-letter target names must be followed by space or tab (e.g. <let>:whitespace), semicolon (e.g. <let>:;), colon (e.g. <let>::) or nothing (e.g. <let>:enter).

Although multiple-letter target names need not be followed by anything special before the ":", consistent use of at least one space before and after the ":" is suggested.


Macro Modifiers (p64: Add this heading after the "Change Case" heading)

Execute a Shell Line

SH — Executes the entire macro value as a shell line and returns the output of the shell line. This modifier uses the last-known shell program — the default shell program or the shell program as set with a .SHELL directive. The shell line’s output is returned with spaces, tabs and newlines collapsed into single spaces.

Dot Directives (p118: Replace the .OPTIONS directive with the following)


[ MacroQuoted | MacroRecursiveDef | QueueUnlimitTargetKeepCase | TargetMergeDotSlash | TargetQuoted | TargetSlashEq ] ...

Replace the "TargetKeepCase" keyword with these two keyword descriptions:

QueueUnlimit — by default, Make queues the shell line from no more than 32 targets before flushing the queue and executing the shell line. With this keyword, the 32-target limit is lifted and Make queues an arbitrary number of targets.

TargetKeepCase — for Win95 and WinNT Make and MKMF, causes the "A", "*", "*F" and "*D" macro modifiers and wild-card specifications on dependency lines to preserve the case of file names. By default, without this keyword, the file names are converted lower case.

Dot Directives (p119: Replace the .SEARCH directive with the following)


dir_list [ file ] ...

Used to give search directories to files. The <dir_list> is a semicolon-separated list of directories. If given, each <file> is a filename or file extension. If <file> is absent, the search directories apply to all files that don't otherwise have a search directory.

Like the .PATH macros, .SEARCH can assign search directories to file extensions. Additionally, .SEARCH can assign search directories to specific files. See Page 142 for details.

Dot Directives (p120: Replace the .SHELL directive with the following)


[ .AUTO | .NOMULTI | .NOOPUSERRH | .NOREDIR ] ... [ program flags ]

Add the following after the "The .NOMULTI keyword..." paragraph:

The .NOOPUSERRH keyword tells Win95 Make not to use our "helper" utility OPUSERRH.EXE when executing shell lines. Use this keyword if you’re using 4DOS as the shell program.

Inline Response Files (p148: Add the following point to the "The first "<<" introduces the response file." paragraph).


Using 4DOS (p174: Replace the paragraph with:)

4DOS is an alternative command processor for MS-DOS and Win95 written by J. P. Software. If you use 4DOS as your command processor you’ll probably want to use it as the shell program used by Make. Since Make automatically determines the shell program at startup by looking in the COMSPEC environment variable, and since 4DOS should be the program in that variable, Make automatically uses 4DOS when it executes a shell line through the shell program.

However, under Win95 Make does some things that are unnecessary and even slightly detrimental when 4DOS is being used because Make is written to work around short-comings in COMMAND.COM. As a consequence we recommend that for 4DOS you use the following .SHELL directive:


Appendix F: Utilities

F.4 SETEM (p264: SETEM now supports MKMF)

The setem utility sets the start-up emulation mode for Make or MKMF and is useful for customizing Make as a drop-in replacement for PM/CB or NMAKE. The syntax is:

setem [ –EN | –EO | –EP | –E2 ] path_to_exe

The "–EN" flag sets the start-up emulation mode to NMAKE, "–EP" sets it to PM/CB, "–E2" selects Opus Make v5.2x emulation, "–EO" (oh, not zero) sets emulation back to the native mode. path_to_exe is the pathname of the Opus Make or MKMF executable.

If no flags are used setem reports the current start-up emulation mode.

Home    Product Info    Orders    Downloads    About Us    Contact Us

Opus Software, Inc. 1032 Irving Street, Suite 439 San Francisco, CA 94122 USA
Phone: 415-485-9703 Fax: 415-485-9704 Email: