Before using a macro, you need to define it, either on the command line or in your description file.
In a description file
Description-file macro definitions look like this:
macroname = macrostring
Macro names can be any combination of alphanumeric characters and the underscore character (_), and they are case-sensitive. A macro string can be any string of characters or a null string.
The first character of the macro name must be the first character on the line. The Make utility ignores any spaces before or after the equal sign (=).
The macro string can be a null string and can contain embedded spaces. Do not enclose the macro string in quotation marks; quotation marks are used only when you define macros on the command line.
On the Command Line
Before using a macro, you need to define it, either on the Make
utility command line or in your description file. Command-line
macro definitions look like this:
macroname=macrostring
No spaces can surround the equal sign. If you embed spaces, the Make utility might misinterpret your macro. If your macro string contains embedded spaces, enclose it in double quotation marks (") like this:
macroname="macro string"
or simply enclose the entire macro definition in double quotation marks (") like this:
"macroname = macro string"
Macro Syntax
After you have defined a macro, you can use it anywhere in your
description file with the following syntax:
$(macroname)
The parentheses are not required if the macro name is only one character long. To use a dollar sign ($) without using a macro, enter two dollar signs ($$), or use the caret (^) before the dollar sign as an escape character.
When the Make utility runs, it replaces all occurrences of $(macroname) with the defined macro string. If the macro is undefined, nothing is substituted. After a macro is defined, you can cancel it only with the !UNDEF directive.
Example of a Make Utility Macro
program = FLASH c = LINK options = $(program).EXE : $(program).OBJ $c $(options) $(program).OBJ;
The example above defines three macros. The description block executes the following commands:
FLASH.EXE : FLASH.OBJ LINK FLASH.OBJ
![]()
Make Utility
Macro Precedence Rules
Predefined
Make Utility Macros