Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Using variables

In order to exploit the full scope of make functionality, it is necessary to have S variables, which in turn means that SDF-P must be available (see [12 (Related publications)]).

S variables generated by make (make S variables) can be used in actions. These variables contain information both on the dependent components which are to be generated and the components from which they are to be generated. make inserts the required make S variable assignments into the procedure before the actions.

All of the S variables specified in the make substatements are replaced during the make run, which is made possible by the SDF input language.

You can prevent the S variables from being replaced during the make run by entering the ampersand (&) twice, instead of once, when you specify the actions.

Large quantities of data intended for components can be read in via S variables in the SET-DEPENDENCY statement.

There are two categories of variables that are not to be generated until the generated procedure is executed:

  • normal S variables which are supplied and used (in actions) by the user,

  • make S variables which are supplied and used in actions by make.

The names of make S variables are defined in the MODIFY-MAKE-DEFAULTS substatement. If make S variables are accessed in the course of actions, the actions must be processed by SDF.

Users may define the following make S variables:

  • Name of the current target (CURRENT-TARGET-VAR)
    (see make substatement MODIFY-MAKE-DEFAULTS)

  • List of all predecessor components (FROM-OBJECTS-VAR)
    (see make substatement MODIFY-MAKE-DEFAULTS)

  • List of all predecessor components which have been modified more recently than the target (MODIFIED-OBJECTS-VAR)
    (see make substatement MODIFY-MAKE-DEFAULTS).

The value for CURRENT-TARGET-VAR is a variable in the output format of LMS (see chapter “Format of LMS output in S variables” (8 Format of LMS output in S variables)). The values for FROM-OBJECTS-VAR and MODIFIED-OBJECTS-VAR are lists of such variables. The sequence of the variables in these lists corresponds to the sequence of the variables specified in the SET-DEPENDENCY statement.

For library members, the following structure elements are supplied (variable name VAR):

&(VAR.LIB)

&(VAR.ELEM)

&(VAR.VERSION)

&(VAR.TYPE)

STRING

STRING

STRING

STRING

If the S variable is supplied with a value for a file, the variable VAR.LIB receives the complete file name, and the variables VAR.ELEM, VAR.VERSION and VAR.TYPE receive empty strings. The representation of *NONE contains only empty strings.

You supply the S variables with values by inserting commands in the generated procedure, making use of the auxiliary variable SYSLMSMAKE.

Declarations are also made by inserting commands in the generated procedure. Declarations made in the substatement for preprocessing are not overwritten.