The BEGIN-MAKE statement initiates a sequence of make substatements. A sequence of make substatements is concluded by the END-MAKE statement.
The BEGIN-MAKE statement can be used to specify the following:
the target which is to be generated with the make run,
the type of make processing (required) or all actions to be performed and
the continuation processing.
If a procedure is being executed at the same time, LMS terminates it.
BEGIN-MAKE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
TARGET = *FIRST-TARGET / <filename 1..54 without-vers> /
*LIBRARY-ELEMENT(...)
The target to be generated.
TARGET = *FIRST-TARGET
The first target (library member or file) among the dependency definitions is the target of the entire make run.
TARGET = <filename 1..54 without-vers>
The target is a file. The initial value for the default library in MODIFY-MAKE-DEFAULTS is *NONE.
TARGET = *LIBRARY-ELEMENT(...)
The target is located in a library member. A target library specified here is the initial value for the default library MODIFY-MAKE-DEFAULTS.
LIBRARY = <filename 1..54 without-vers> / *LINK(...)
Library of the target member.
LIBRARY = <filename 1..54 without-vers>
Library of the target member.
LIBRARY = *LINK(...)
Library of the target member.
LINK-NAME = <structured-name 1..8>
Link name of the library of the target member.
ELEMENT = <composed-name 1..64 with-under>(...)
Name of the target member.
VERSION = *HIGHEST-EXISTING / *UPPER-LIMIT / <composed-name 1..24 with-under>
Version of the target member.
VERSION = *HIGHEST-EXISTING
The highest existing version is taken as the target.
VERSION = *UPPER-LIMIT
The highest possible version X’FF’ is taken as the target.
VERSION = <composed-name 1..24 with-under>
The text specified here is interpreted as a version designation.
BASE = *STD / <composed-name 1..24 with-under with-wild>
Specifies the base of the target member.
TYPE = <alphanum-name 1..8>
Type of the target member.
SELECT = *MODIFIED / *ALL
Components which are used for the generation of targets.
SELECT = *MODIFIED
Modified components (=components of more recent date) are to be used.
SELECT = *ALL
All components are to be used. It is simulated that all components that lead to the target are not current.
SUCCESS-PROCESSING = *INCLUDE-PROCEDURE / *CALL-PROCEDURE / *ENTER-PROCEDURE / *CREATE-PROCEDURE / *TOUCH
Type of continuation processing. At the end of the make run (END-MAKE statement), the processing specified here is initiated. If the target in TARGET is current, the continuation processing is not initiated.
SUCCESS-PROCESSING = *INCLUDE-PROCEDURE
The procedure specified for PROCEDURE is generated and executed synchronously, using the current variables.
SUCCESS-PROCESSING = *CALL-PROCEDURE
The procedure specified for PROCEDURE is generated and executed synchronously, using a new variable environment.
SUCCESS-PROCESSING = *ENTER-PROCEDURE
The procedure specified for PROCEDURE is generated and executed asynchronously, using a new variable environment.
SUCCESS-PROCESSING = *CREATE-PROCEDURE
The procedure is merely generated.
SUCCESS-PROCESSING = *TOUCH
Touches the components of the programming system which have to be generated, i.e. gives each of them a new modification time as a time stamp. The entire program system, up to and including TARGET, is then current. No procedure is generated. Files which are to be handled with *TOUCH must be neither empty nor protected against UPAM accesses.
PROCEDURE = SYSPRC.LMS.MAKE / <filename 1..54 without-vers> / *LIBRARY-ELEMENT(...)
Procedure that is generated by make and may be started when make terminates.
PROCEDURE = *LIBRARY-ELEMENT(...)
The procedure file that is generated is a member of a library.
LIBRARY = *BY-TARGET / <filename 1..54 without-vers> / *LINK(...)
Library in which the procedure is stored.
LIBRARY = *BY-TARGET
The library is that of TARGET.
LIBRARY = <filename 1..54 without-vers>
Library of the procedure member.
LIBRARY = *LINK(...)
Library of the procedure member.
LINK-NAME = <structured-name 1..8>
Link name of the library of the procedure member.
ELEMENT = <composed-name 1..64 with-under>(...)
Name of the procedure member.
VERSION = *HIGHEST-EXISTING / *INCREMENT / *UPPER-LIMIT /
<composed-name 1..24 with-under>
Version of the procedure member.
VERSION = *HIGHEST-EXISTING
Depending on the convention applicable for the type, the highest version appropriate to BASE among the existing members of the same type and name is overwritten; otherwise a default version is generated.
VERSION = *INCREMENT
Depending on the convention applicable for the type, this generates a new, higher version among existing members having the same type and name; otherwise a default version is generated.
VERSION = *UPPER-LIMIT
The highest possible version X’FF’ is generated.
VERSION = <composed-name 1..24 with-under>
The text specified here is interpreted as a version designation.
TYPE = J / <alphanum-name 1..8>
Type of the procedure member.
PROCEDURE-PARAMETERS = *NO / <text 1..1800 with-low>
Parameters supplied to the procedure when it is called. These parameters correspond to the PROCEDURE-PARAMETERS operands of CALL-PROCEDURE, ENTER-PROCEDURE and INCLUDE-PROCEDURE, and are passed along unchanged.
PROCEDURE-PARAMETERS = *NO
No procedure parameters.
PROCEDURE-PARAMETERS = <text 1..1800 with-low>
Procedure parameters which are to be passed unchanged.
Statement return code
(SC2) | Maincode | Meaning |
0 | CMD0001 | No error |
Note
A generated procedure member which is not of the highest version can be executed only if SDF-P is available in the system (and only with CALL-PROCEDURE and INCLUDE-PROCEDURE).
Example
The part of a procedure shown below generates the target from the parameter TARGET with the aid of the definitions in the file MAKEFILE if the target is not current. The make substatements are located in the MAKEFILE file. The procedure, which is generated by default, is then executed, and LMS is then terminated.
... /START-LMS /BEGIN-BLOCK DATA-INSERTION=YES //BEGIN-MAKE TARGET=&(TARGET), "MAKE CALL" //MODIFY-MAKE-DEFAULTS LIBRARY=MYLIB "DEFAULT SETTINGS" /INCLUDE-PROCEDURE NAME=MAKEFILE "CALL OF MAKEFILE" /END-BLOCK //END-MAKE "END OF MAKE" ...
The framework of the procedure and the file MAKEFILE are shown in the example of make functionality on "make run".