z/OS ISPF Software Configuration and Library Manager Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


FLMLTWST Workstation Build translator

z/OS ISPF Software Configuration and Library Manager Guide and Reference
SC19-3625-00

Purpose

The FLMLTWST translator is used to perform compiles, links, or other services on an ISPF connected workstation. It cannot be used when ISPF is accessed from a web browser via the ISPF JAVA environment.

This translator is used for languages that have the source in SCLM and the compiler, linker, or other tools on the workstation. FLMLTWST uses the ISPF SELECT service to execute workstation commands and the FILEXFER ISPF service to transfer files between the host and the workstation. This section describes the FLMLTWST translator as supplied with the ISPF product.

The FLMLTWST translator is written in REXX to let the project manager customize it to fit the needs of the project and workstation tools.

The translator does the following tasks:
  • Initialization

    Parses and validates the parameters.

  • Reads action information
    The action definitions are read from the ddname specified by the ACTINFODD parameter. This information includes:
    • The names of actions that can be specified with the ACTION parameter
    • The workstation commands and parameters for each action
    • Message file names
    • The mapping between SCLM type names and workstation extensions and subdirectories
    • File transfer format (ASCII or BINARY).
  • Gets user-specific information

    Gets information such as which directory to store the files in on the workstation and the response file name.

  • Retrieves information from the build map
    Gets the list of source members, includes, compiler options, and outputs from the build map. The build map information is obtained by calling the FLMTBMAP translator. The following build map keywords are processed. All other keywords are ignored.
    SINC, SINC*
    Members on SINC statements:
    • Will be transferred to the workstation.
    • Can be added to the workstation command depending on the workstation extension that the member's type is mapped to, and the parameter information specified for the workstation command in the FLMLTWST logic.
    Innn
    Include members identified by Innn statements in the build map will be transferred to the workstation.
    COMP, LIST, LMAP, LOAD, OBJ, OUTx
    Output members identified by these statements in the build map:
    • Will be transferred from the workstation to the ddname associated with that output keyword.
    • Can be added to the workstation command depending on the workstation extension that the member's type is mapped to, and the parameter information specified for the workstation command in the FLMLTWST logic.
    CMD
    The processing of the CMD statement depends on the blank delimited keyword that follows the command statement. CMD statements that do not have one of the keywords listed below will cause an error.
    PARMS
    The string following this keyword will be added to the workstation command. If multiple CMD PARMS appear in the architecture definition, they will be added to the workstation command in the order they appear. Where the parameters appear in the command in relation to the other parameters (input and output files) is determined by the information in the setup part of the FLMLTWST translator.

    There will be no separator character following the value of PARMS in the language definition. If a separator character is desired then one should appear in the PARMS keyword as the last character.

    If CMD ACTION statements are present in the build map, the parameters apply only to the workstation command for the action that they follow. If they appear before any CMD ACTION statements, they apply to the workstation command for the action from the ACTION parameter on the FLMLTWST translator definition.

    ACTION
    The string following this keyword must be a valid action (see the ACTION parameter for this translator). You can use the ACTION keyword to have FLMLTWST issue multiple workstation commands. The first workstation command is the command from the action specified on the ACTION parameter.

    The following example shows how to add a binary resource file to an .exe file by specifying ACTION=LINKEXE on the FLMTRNSL in the language definition and using an architecture member.

    *
    LKED EXE               * use the EXE language
    *
    CMD PARMS /O+ /Ss
    *
    KREF OBJ               * OBJBIN is generated by an OBJ keyword
    *
    INCLD SAMPLE C         * includes SAMPLE OBJBIN
    *
    INCLD COMMON C         * includes COMMON OBJBIN
    *
    LOAD SAMPLE EXEBIN
    LMAP SAMPLE LMAP
    *
    CMD ACTION RCEXE       * Add resources to the .exe
    *
    KREF OUT1              * RESBIN is generated by an OUT1 keyword
    *
    INCLD SAMPLE RC        * includes SAMPLE RESBIN
    *

    This causes two workstation commands to be issued. First the sample.exe file is generated; then the resource compiler adds the resources in the sample.res file to the sample.exe file. The sample.exe file is not stored into SCLM until after the resource compiler has run.

  • Generates a response file if needed.

    Workstation compilers and other tools that support response files will have one generated. The response file contains the parameters for the compiler or other tool.

  • Transfers the inputs (source, includes, and so on) to the workstation.

    The source members, includes, and response file are transferred to the workstation using the FLMTXFER translator. If multiple workstation commands are being issued, the response files for all commands after the first will be transferred to the workstation just before issuing the command.

  • Runs the workstation command.

    Constructs the workstation command and sends it to the workstation.

  • Transfers the outputs (obj, exe, dll, and so on) to the host.

    Transfers the outputs to the host using the FLMTXFER translator. The SCLM outputs are placed in ddnames allocated by FLMALLOC so that build can place them into the hierarchy.

Parameters

The following parameters are specified in the OPTIONS list for the FLMTRNSL macro that has COMPILE=FLMLTWST. All parameters are keyword parameters and can be specified in any order. Parameters must be separated by commas. Extraneous parameters are ignored without any messages being produced. An FLMALLOC is required for the following data definitions:
  • MESSAGEDD
  • MSGXFERDD
  • RESPONSEDD
  • FILESDD
  • BMAPDD
  • USERINFODD
  • ACTINFODD
ACTION=COMPILE|action_name
This parameter is optional. If not specified, it defaults to COMPILE. The valid values are specified in the ACTINFO data set.
BMAPINFO=@@FLM$MP
This parameter is required and must be specified in the options list with the value from @@FLM$MP.
BLDINFO=@@FLMBIO
This parameter is required and must be specified in the options list with the value from @@FLMBIO.
SCLMINFO=@@FLMINF
This parameter is required and must be specified in the options list with the value from @@FLMINF.
PARMS=command_parms
This parameter is optional. If specified, the string that follows it will be added as the first parameter on all workstation commands.
MESSAGEDD=dd_name
This parameter is optional. If not specified, it defaults to MESSAGE. This is the ddname where messages are written.
MSGXFERDD=dd_name
This parameter is optional. If not specified, it defaults to MSGXFER. This is the ddname to temporarily hold messages from the workstation command. The messages are appended to the data set specified by the MESSAGEDD parameter. The FLMALLOC for this ddname must specify CATLG=Y.
RESPONSEDD=dd_name
This parameter is optional. If not specified, it defaults to RESPONSE. This is the ddname used to generate the response file for the workstation if the workstation command requires a response file. The FLMALLOC for this ddname must specify CATLG=Y.
FILESDD=dd_name
This parameter is optional. If not specified, it defaults to FILES. This ddname is used to communicate between the FLMLTWST and FLMTXFER translators. See the description of the content of this ddname in the FLMTXFER translator description.
BMAPDD=dd_name
This parameter is optional. If not specified, it defaults to BMAP. This ddname is used to communicate between the FLMLTWST and FLMTBMAP translators. See the description of the content of this ddname in the FLMTBMAP translator description.
USERINFODD=dd_name
This parameter is optional. If not specified, it defaults to USERINFO. This ddname contains the information about the workstation where the tools will be run. Each line in the data set allocated to the ddname can contain either a comment or keyword and its value. Comment lines begin with an asterisk (*) and are ignored. Lines that contain invalid keywords are ignored. Keywords and their values must be separated by one or more spaces.
ACTINFODD=dd_name
This parameter is optional. If not specified, it defaults to ACTINFO. This ddname contains the information about the workstation actions such as COMPILE and LINKEXE. Each line in the data set allocated to the ddname contains either a comment or a keyword. Comment lines begin with an asterisk (*) and are ignored. Lines that contain invalid keywords are ignored. Keywords on the statement must be separated by at least one space.
output_keyword=dd_name
These parameters can be used to specify the ddnames to hold the output for each build output keyword. These parameters are not required. If not specified, the ddname is the same as the keyword. An example of these parameters is OBJ=SYSIN,LIST=SYSPRINT. This example defines FLMALLOC statements for the SYSIN and SYSPRINT ddnames with IOTYPE=O or P. If these parameters had not been specified, there would be FLMALLOC statements for OBJ and LIST ddnames with IOTYPE=O or P.

The FLMALLOC statements for the output ddnames must specify CATLG=Y. All allocations must be IOTYPE=O or P. If CATLG=Y is not specified, the file transfer will fail.

USERINFODD statements

Valid keywords for statements in the USERINFODD data set are:
Keyword
Value Description
Asterisk (*)
Comment lines start with asterisks and are ignored.
RESPONSE_FILE
The name of the response file on the workstation. The file name must include the full path, because the DATA_DIR value will not be prefixed to the file name. The default is response.fil.
DEL_CMD
The delete command to be used on the workstation. The default is DEL. The message files that are to be created by a workstation command will first be deleted using this command. This is done so that message files with the same name from previous commands are not transferred to the host after completion of a workstation command.
DATA_DIR
The base directory on the workstation where the files are stored. DATA_DIR must include the full directory name. All SCLM members are transferred to and from this directory and its subdirectories. The subdirectories are based on the subdirectory value specified in the ACTINFO file. This defaults to '\'. The FLMLTWST translator supplied by IBM® appends the subdirectory to the DATA_DIR value before appending the file name.
MODE
MODE specifies how the command is to start on the workstation. MODE may be:
  • MIN (minimized - the default)
  • MAX (maximized)
  • VIS (visible, if possible)
  • INVIS (invisible, if possible).
A MODE value specified in USERINFODD will override a MODE value specified in ACTINFODD. For more information about MODE, see the ISPF SELECT service in the z/OS ISPF Services Guide.
WSDIR
WSDIR specifies the workstation directory. This is the directory from which the workstation command will be executed. The default is the directory from which ISPF Client/Server is running. The WSDIR value from the ACTINFODD data set will be concatenated after the WSDIR value from the USERINFODD data set.

ACTINFODD statements

Statements in the ACTINFODD file are composed of a keyword and a value. The keywords TYPE, EXTENSION, TRANSFER_FORMAT, and SUBDIRECTORY are used to define the SCLM-type-to-workstation-file-extension mapping information to SCLM. The other keywords in this file are used to specify information about each workstation command. Keywords CPARM, EXTENSION, MESSAGE_FILE, and RPARM apply only to the previous ACTION keyword. Valid keywords for statements in the ACTINFO data set are:
Keyword
Value Description
Asterisk (*)
Comment lines start with asterisks and are ignored.
WSDIR
WSDIR specifies the workstation directory for executing the command. The WSDIR value from the ACTINFODD data set will be concatenated after the WSDIR value from the USERINFODD data set.
QUOTE
The character to use for quoting strings in CPARM, CPARMSEP, and RPARM statements. This character is used for statements that follow this QUOTE statement until the next QUOTE statement is found. The default quote character is a single quote (').
ACTION
The name of an action that can be specified on the ACTION parameter to FLMLTWST.
COMMAND
The command to be issued on the workstation for the previous action. If multiple COMMAND statements are found following an ACTION statement only the last COMMAND is used.
MODE
MODE specifies how the command is to start on the workstation. MODE may be:
  • MIN (minimized - the default)
  • MAX (maximized)
  • VIS (visible, if possible)
  • INVIS (invisible, if possible).
A MODE value specified in USERINFODD will override a MODE value specified in ACTINFODD. For more information about MODE, see the ISPF SELECT service in the z/OS ISPF Services Guide. The default MODE is MIN.
CPARM
Parameters to add to the last workstation COMMAND. The parameters are added to the command in the order they are found in the file. Each parameter is made up of three parts: a prefix, a type name, and a suffix. The type name indicates that the parameters on this CPARM statement only apply to members in SCLM of that type. If no type name is specified, the parameter is added to the command. In the parameter string, the SCLM type name is replaced with the name of SCLM members of that type that are inputs or outputs to the build. The parameters added to the command are composed by concatenating the prefix, the workstation file name for the SCLM member, and the suffix. If multiple members match the type on the CPARM statement, the prefix and suffix are concatenated to each file name. See the examples at the end of the description of FLMLTWST for more information.
  • A prefix string. The string must be surrounded by quotes if it contains blanks.
  • An SCLM type name. If the type name is specified, the parameters are added if there is an input or output of this type to the command. If there are inputs and outputs of this type, the file name containing each input and output is added to the workstation command preceded by the prefix string and followed by the suffix string.

    No blanks are placed between the file name and the prefix and suffix strings. To get blanks between the prefix and suffix strings and the file name, use quotes around the strings and put the blank inside the quotes.

  • A suffix string. The string must be surrounded by quotes if it contains blanks. This string defaults to blank if not specified.
The following variables can be specified in the prefix and suffix strings:
&CMD_PARMS&
Is replaced with the parameters specified on "CMD PARMS" statements in the architecture definition if there are any. "Null" will be used when "CMD PARMS" is not found. &CMD_PARMS& must be present in order to use a CMD PARMS statement in the architecture definition.
&RESPONSE_FILE&
Is replaced with the response file name.
&DATA_DIR&
Is replaced with the base directory from the user information.
CPARMSEP
The value to be used as a separator between the command parameter strings specified by the CPARM keywords. No separator character will be added to the end of the parameter string. Also, there will be no separator character following the value of PARMS in the language definition. If you want a separator character, then it should appear in the PARMS keyword as the last character.
  • CPARMSEP NULL results in no separator character.
  • CPARMSEP by itself results in a blank being used as the separator character.
  • CPARMSEP with a quoted string will have the quotes removed from the front and back if the quote characters match the value of the QUOTE keyword. (If there is no QUOTE keyword the single quote default will be used.) An error message will appear if the first character is a quote (as per the value of the QUOTE keyword) and the last character is not a quote.
  • No separator character will be added to the end of the parameter string.
RPARM
Parameters to add to the response file for the last workstation command. The format of this statement is the same as the CPARM statement. Use CPARM if the parameters are specified as part of the workstation command. Use RPARM if the parameters are to be put in a response file that the workstation command will read. Only use response file parameters if the workstation command supports a response file. If parameters are specified in a response file, make sure the response file name is specified on one of the CPARM statements if the workstation command requires it.

The variables described for CPARM can also be used on RPARM statements.

TYPE
The name of an SCLM type to transfer to the workstation. The type name can include a single asterisk (*) as a wildcard character.
EXTENSION
The workstation extension to use for the types from the previous TYPE statement. A single asterisk (*) can be included and is replaced with any characters that matched the * in the TYPE statement. The default value is *.

The value is either a single asterisk or a character string. Strings using an asterisk and other characters (such as H*) will result in the asterisk being used as part of the extension.

SUBDIRECTORY
The subdirectory to use for the file names derived from the previous TYPE statement. The subdirectory is placed between the data directory as specified by the DATA_DIR keyword in the USERINFODD user information and the file name to construct the fully-qualified workstation file name. The default value is a \.
TRANSFER_FORMAT
The transfer format for files of the types from the previous TYPE statement. Valid values are:
ASCII
Translate the file to ASCII format. This is the default.
BINARY
Perform no translation.
WSCASE
The case for workstation file names. Valid values are:
UPPER
Transfer the files to or from the workstation with the workstation file name in uppercase letters. This is the default setting.
LOWER
Transfer the files to or from the workstation with the workstation file name in lowercase letters.
ULOWER
Transfer the files to or from the workstation with the workstation file name having an initial capital letter followed by lowercase letters.
MESSAGE_FILE
The name of a message file that was created on the workstation. It will be written to the ddname specified by the MESSAGEDD parameter. This statement can be used to get the messages from the workstation command into the BUILD.LISTxx data set. Multiple MESSAGE_FILE statements can be specified. Each MESSAGE_FILE statement applies to the previous ACTION. The default message file name is c:\sclm.msg.

Environment

The FLMTXFER translator must have access to ISPF services. FLMLTWST must be invoked by specifying CALLMETH=ISPLNK for the FLMTRNSL macro.

Return codes

In addition to the return codes listed here, messages can be written to the ddname specified by the MESSAGEDD parameter.

User Information example

Here is a sample USERINFO data set, which can be found in the FLMWBUSR member in the ISPF sample library.

*
* Data_dir. Default is c:\.
* The subdirectory value from the actinfo file or the default of '\'
* will be appended to this value before the name of the workstation
* file. This directory and its subdirectories will be where SCLM
* transfers files to/from on the workstation.
*
data_dir     c:\wb
*
* Wsdir. Default is ISPF Client/Server directory.
* Directory from which the command will be executed. If a WSDIR
* keyword is also specified in the ACTINFO file, then it will be
* concatenated to the end of what is specified here.
* For commands that must run from the directory holding the data
* files (such as the resource compiler), this value should be the
* same as the data_dir value.
*
wsdir        c:\wb
*
* Response_file. Default is c:\response.fil.
* Fully qualified name of the response file to contain all RPARM
* statements for an action. The name should include the drive and
* any subdirectories.
*
response_file c:\wb\response.fil
*
* Mode. Workstation build default is minimized. This will override any
* value set in the ACTINFO file.
* This is the mode for the workstation command. Valid values are:
* MAXimized, MINimized, VISible and INVISible. See the WSCMDV section
* of the ISPF SELECT service for additional information.
*
mode   max
*
* Del_cmd. Default is 'del'.
* This keyword specifies the delete command to be used to remove the
* message file(s) from previous builds or build steps from the
* workstation before executing the workstation command.
*
del_cmd erase

ACTINFO example

The following example shows an ACTINFO data set and can be found in the FLMWBAIO member in the ISPF sample library.

***********************************************************************
*                                                                     *
* SCLM type to workstation file name mapping                          *
*                                                                     *
* The following statements define the mapping between SCLM type names *
* and workstation file extensions as well as the transfer format      *
* for the data.  The statements are processed in order.  If the       *
* member being processed does not match the first TYPE criteria, then *
* it will be compared to the next TYPE criteria and so on until a     *
* match is found.                                                     *
*                                                                     *
***********************************************************************
*                                                                     *
* Types containing BINARY data                                        *
*                                                                     *
* This mapping indicates that the host SCLM type will be the          *
* workstation file extension followed by BIN.   The BIN pattern in    *
* the type name will be used to indicate that members in these types  *
* contain binary data.  As an example, a member stored in the OBJBIN  *
* type in SCLM, will be transferred as binary (no ASCII-to-EBCIDIC    *
* conversion) with the workstation file name 'member.OBJ'.            *
*                                                                     *
***********************************************************************
TYPE            *BIN
EXTENSION       .*
TRANSFER_FORMAT BINARY
SUBDIRECTORY    \
***********************************************************************
*                                                                     *
* Types containing ASCII data                                         *
*                                                                     *
* This mapping indicates that any members whose type does not match   *
* the previous criteria (TYPE * will always match), will be processed *
* as ascii/text files.  The workstation file extension will be the    *
* same as the SCLM type.  As an example, a member in the CPP type in  *
* SCLM will have the workstation file name 'member.CPP'.              *
*                                                                     *
***********************************************************************
TYPE            *
EXTENSION       .*
TRANSFER_FORMAT ASCII
SUBDIRECTORY    \
*
***********************************************************************
***********************************************************************
*                                                                     *
* Workstation Commands                                                *
*                                                                     *
* The following statements define the actions/commands to be executed *
* on the workstation.                                                 *
*                                                                     *
***********************************************************************
*
* C and C++ compile to generate object
*
ACTION      COMPILE
COMMAND     icc
RPARM -Fd
RPARM -c
RPARM -Gm+
RPARM -O+
RPARM &CMD_PARMS&
RPARM /Fo OBJBIN
RPARM /Fl LST
RPARM '' C
RPARM '' CPP
CPARM @&RESPONSE_FILE&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Preprocessor only
*
ACTION      PREPROCESS
COMMAND     icc
RPARM /Pe+
RPARM &CMD_PARMS&
RPARM '' C
RPARM '' CPP
RPARM '' IPF
RPARM '' RC
CPARM @&RESPONSE_FILE&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Dummy file for resource DLLs
* (compile with /Ge- option)
*
ACTION      DUMMY
COMMAND     icc
RPARM -Fd
RPARM -c
RPARM /Ge-
RPARM &CMD_PARMS&
RPARM /Fo OBJBIN
RPARM /Fl LST
RPARM '' C
RPARM '' CPP
CPARM @&RESPONSE_FILE&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Link object into exe using CSET++
*
ACTION      LINKEXE
COMMAND     icc
RPARM /Ge+
RPARM &CMD_PARMS&
RPARM /Fe EXEBIN
RPARM /Fm MAP
RPARM '' OBJBIN
RPARM '' DEF
CPARM @&RESPONSE_FILE&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Link object into dll using CSET++
*
ACTION      LINKDLL
COMMAND     icc
RPARM /Ge-
RPARM &CMD_PARMS&
RPARM /Fe DLLBIN
RPARM /Fm MAP
RPARM '' OBJBIN
RPARM '' DEF
CPARM @&RESPONSE_FILE&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Link object into exe or dll using LINK386
*
ACTION      LINK386
COMMAND     link386
CPARMSEP NULL
CPARM &CMD_PARMS&
CPARM '' OBJBIN
CPARM ,
CPARM '' DLLBIN
CPARM '' EXEBIN
CPARM ,
CPARM '' MAP
CPARM ,
CPARM '' LIBBIN
CPARM ,
CPARMSEP
CPARM '' DEF
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Generate res file
*
ACTION      RC
COMMAND     rc
CPARM -r
CPARM '-i &DATA_DIR&'
CPARM &CMD_PARMS&
CPARM '' RC
CPARM '' RESBIN
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Apply res file to an exe or dll
*
ACTION      RCEXE
COMMAND     rc
CPARM &CMD_PARMS&
CPARM '' RESBIN
CPARM '' EXEBIN
CPARM '' DLLBIN
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Generate hlp file
*
ACTION      IPFC
COMMAND     ipfc
CPARM '' IPF
CPARM &CMD_PARMS&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg
*
* Generate hlp file - input file specified on CMD statement
*
ACTION      IPFCP
COMMAND     ipfc
CPARM &CMD_PARMS&
CPARM 1>&DATA_DIR&\stdout.msg
CPARM 2>&DATA_DIR&\stderr.msg
MESSAGE_FILE &DATA_DIR&\stdout.msg
MESSAGE_FILE &DATA_DIR&\stderr.msg

The following example shows an architecture definition and the resulting workstation commands using the previous ACTINFO data set. This architecture definition can be found in the ISPF sample library, member FLMWBSLE.

The architecture definition:

*
LKED EXE                 * link language
*
KREF OBJ                 * include generated object modules
*
INCLD MAHJONGG C         * MAHJONGG SOURCE
INCLD TILE     C         * TILE SOURCE
SINC  MAHJONGG DEF       * DEF source
*
LOAD  MAHJONGG EXEBIN    * Generated .exe file
LMAP  MAHJONGG MAP       * Generated .map file
*
* Run resource compiler after the link completes
*
CMD ACTION RCEXE
*
KREF OUT1                * include generated .res file
*
INCLD MAHJONGG RC        * Source which produces MAHJONGG RESBIN
*

The language EXE (as specified by the LKED keyword) uses the action LINKEXE. This results in the following command and response file:

The command
icc @c:\wb\response.fil 1>c:\wb\stdout.msg 2>c:\wb\stderr.msg
The contents of the response file, c:\wb\response.fil
/Ge+
/Fec:\wb\MAHJONGG.EXE
/Fmc:\wb\MAHJONGG.MAP
c:\wb\MAHJONGG.OBJ
c:\wb\TILE.OBJ
c:\wb\MAHJONGG.DEF

The CMD ACTION statement results in a second action, RCEXE. RCEXE issues the following command:

rc c:\wb\MAHJONGG.RES c:\wb\MAHJONGG.EXE 1>c:\wb\stdout.msg 2>c:\wb\stderr.msg

Language definition example

Sample language definition shows a language definition using FLMLTWST to compile C or C++ source on the workstation. It also includes a description of the items used in the language definition. This sample can be found in the ISPF macro library as member FLM@WICC.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014