|
The FLMTOPTS macro is used to vary the options passed to a build
translator based on the group where the build is taking place.
Options can be appended to the existing options or replace the
options completely. FLMTOPTS macros must follow an FLMTRNSL macro
with FUNCTN=BUILD. Multiple FLMTOPTS macros can be specified for each
FLMTRNSL in which case the FLMTOPTS will be applied in the order they
appear in the project definition. The GROUP and NOTGROUP parameters
are mutually exclusive. If neither GROUP nor NOTGROUP is specified,
the options list and action will apply to all groups.
Note: Use of the FLMTOPTS statement does not cause a
recompile when a member is promoted to another group, it only
specifies the options to be used if a build is
performed at the new group. To cause a rebuild to occur automatically,
add an FLMLRBLD statement for the language.
Macro format
>>-FLMTOPTS--OPTIONS=options_list------------------------------->
>--+---------------------------+--+----------------------+-----><
'-,-+-GROUP=group_list----+-' | .-APPEND--. |
'-NOTGROUP=group_list-' '-,ACTION=-+-REPLACE-+-'
Parameters
- OPTIONS=options_list
- This parameter specifies the options that are added to the end
of the existing options or replace the existing options. See the
OPTIONS parameter on the FLMTRNSL macro for more information about
the content and format of options lists.
- ,GROUP=group_list
- This parameter specifies the groups where the options list and
action are to be applied. If the build group is found in the list then
the translator options list will be updated.
The group list must be enclosed in parentheses or single quotes,
with a comma and no spaces between the group names. The list of groups
is not checked for validity when the project definition is assembled
or during build. This allows alternate project definitions to function
without requiring that all groups be defined in the alternate project
definition.
- ,NOTGROUP=group_list
- This parameter specifies the groups where the options list and
action are not to be applied. If the build
group is found in the list then the translator options list will not
be updated. The format of the group list is the same as for the GROUP
parameter.
- ,ACTION=APPEND|REPLACE
- This parameter specifies how the translator options will be updated.
If APPEND (the default value) is specified the options list will
be appended to the end of the existing options list for the
translator. No commas or spaces will be added between the existing
options list and the options list from the FLMTOPTS macro.
If REPLACE is specified the existing options list will be
replaced with the options list from the FLMTOPTS macro.
Example 3
This example shows a part of a language definition that
contains an FLMTRNSL followed by multiple FLMTOPTS macros. The
options passed to the translator will vary by the group where the
build is taking place. If options were specified in an architecture
definition member, they would be added to the end of the options
shown here.
- Build Group
- Options passed to translator
- PROD
- ANSI,NODEBUG,OPTIMIZE,LIST
- TEST
- ANSI,OPTIMIZE,LIST
- INT
- ANSI,LIST
- PERFTEST
- ANSI,OPTIMIZE,TIMER,LIST
- others
- ANSI,DEBUG,NOOPTIMIZE,LIST
FLMTRNSL CALLNAM='Compile', X
FUNCTN=BUILD, X
COMPILE=EXAMPLE, X
OPTIONS='ANSI'
*
FLMTOPTS OPTIONS=',DEBUG,NOOPTIMIZE', X
NOTGROUP=(PROD,TEST,INT),ACTION=APPEND
*
FLMTOPTS OPTIONS='ANSI,OPTIMIZE,TIMER', X
GROUP=(PERFTEST),ACTION=REPLACE
*
FLMTOPTS OPTIONS='ANSI,NODEBUG,OPTIMIZE', X
GROUP=(PROD),ACTION=REPLACE
*
FLMTOPTS OPTIONS=',OPTIMIZE', X
GROUP=(TEST)
*
FLMTOPTS OPTIONS=',LIST'
|