This section describes general macros, state macros, and built-in macros.
Table 21 lists predefined general macros; these macros cannot be redefined.
Predefined Macro | Value |
---|---|
.NEWSOURCES | The list of target dependencies newer than the target; all dependencies when configuration lookup is enabled and the target is not marked as .INCREMENTAL_TARGET |
.SOURCE | The inferred dependency or, if none, the first explicit dependency |
.SOURCES | The complete list of dependencies for a target |
.TARGET | The name of the target being made |
.TARGETROOT | The root name of the target being made |
BUILTINS | The pathname of the built-ins file |
CWD | The current working directory (the directory in which omake starts) |
FIRSTTARGET | The first command-line target or the first makefile target |
INPUTFILE | The current makefile being processed |
MAKEARGS | All command-line arguments |
MAKEDIR | The directory in which omake starts (same as CWD) |
MAKEMACROS | All command-line macros |
MAKESTATUS | The exit status with which omake exits |
MAKETARGETS | All command-line targets |
MAKEVERSION | The version of this omake executable |
status | The exit status of the last build script executed |
These predefined macros return the state of omake's command-line flags and directives. In Table 22, when yes appears in the Directive column, the value of the named macro is the state of the like-named directive. The Flag column shows the command-line flag that is the equivalent of the directive (if any).
NOTE: .ALWAYS, .IGNORE, and .SILENT are actually target attributes. They look like directives when they appear on the target side of a dependency line without any dependencies. Nevertheless, the .ALWAYS, .IGNORE, and .SILENT macros have the correct value, as if these attributes were directives.
State Macro | Directive | Flag | Macro Value |
---|---|---|---|
.ALWAYS | Yes | -a | 0 or 1 |
.CASE_MACRO | Yes | 0 or 1 | |
.CASE_TARGET | Yes | 0 or 1 | |
.DEBUG | Yes | -# | The current debug options |
.DEBUG_PRINT | Yes | -p | 0 or 1 |
.DEBUG_RUN | Yes | -d | 0 or 1 |
.ENV_OVERRIDE | Yes | -e | 0 or 1 |
.ENVMACROS | Yes | 0 or 1 | |
.GLOBAL_PATH | Yes | 0 or 1 | |
.IGNORE | Yes | -i | 0 or 1 |
.IGNORE_MFLAGS | -z | 0 or 1 | |
.KEEPDIR | Yes | -D | 0 or 1 |
.KEEPWORKING | Yes | -k | 0 or 1 |
.MAKE_MAKEFILE | Yes | -M | 0 or 1 |
.MS_NMAKE | Yes 1 | -EN | 0 or 1 |
.OMAKE | Yes 1 | -EO | 0 or 1 |
.OPUS_52X | Yes | -E2 | The list of compatibility features |
.POLY_MAKE | Yes 1 | -EP | 0 or 1 |
.REGEX_BACK | The regex literal backslash | ||
.REGEX_CHAR | Yes | The regex escape character | |
.REGEX_DOT | The regex literal dot | ||
.REGEX_WILD | Yes | The regex "match any character" | |
.REJECT_RULES | Yes | -r | 0 or 1 |
.RULE_CHAR | Yes | The rule character | |
.SHELL | Yes | The shell program and shell flags | |
.SILENT | Yes | -s | 0 or 1 |
.SUFFIXES | Yes | The list of suffixes | |
.UNIXPATHS | Yes | 0 or 1 | |
1. Exactly one of $(.MS_NMAKE), $(.OMAKE), or $(.POLY_MAKE) is 1. |
Table 23 lists macros that are defined by omake, but can be changed.
Built-In Macro | Definition | Default Value |
---|---|---|
AS | Assembler | masm |
CC | C compiler | cl |
FC | FORTRAN compiler | f77l |
IMPLIB | Windows NT object librarian | lib |
LINK | Object linker | link |
MAKE | Pathname to command-line name | |
MAKEFILE | First makefile read | |
OS | The operating system | NT |
RC | Resource compiler program | rc |
SHELLCOMMANDS | List of internal shell commands | Not predefined |
Feedback on the documentation in this site? We welcome any comments!
Copyright © 2001 by Rational Software Corporation. All rights reserved. |