Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

make-Subanweisungen

&pagelevel(4)&pagelevel

Die Subanweisungen führen im Allgemeinen zu einer Prozedur, die alle Aktionen enthält, die notwendig sind, um das angegebene Ziel zu erstellen.

Übersicht der make-Subanweisungen

END-MAKE

Beenden der make-Subanweisungen

MODIFY-MAKE-DEFAULTS

Festlegen globaler Parameter

SET-DEPENDENCY

Festlegen von Abhängigkeiten zwischen Komponenten

SET-POSTPROCESSING

Festlegen von Aktionen, die nach der Folgeverarbeitung
laufen

SET-PREPROCESSING

Festlegen von Aktionen, die vor der Folgeverarbeitung
laufen

SET-STD-ACTION

Festlegen von Standard-Aktionen, die aus einem Elementtyp
einen anderen erzeugen

Hinweis

Als make-Subanweisungen sind auch die SDF-Standardanweisungen zulässig.

END-MAKE
Beenden der make-Subanweisungen

END-MAKE kennzeichnet das Ende der make-Subanweisungen. Erst jetzt wird die eigentliche Verarbeitung durchgeführt.

END-MAKE


Wurde bei BEGIN-MAKE für SUCCESS-PROCESSING synchrones Ausführen(*INCLUDE-PROCEDURE, *CALL-PROCEDURE) der erzeugten Prozedur angegeben, wird LMS beendet.

Anweisungs-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Ohne Fehler

2

0

LMS0712

Touch nicht möglich

2

0

LMS0714

Touch auf leere Datei nicht möglich

2

0

LMS0721

Das angegebene Ziel ist bereits aktuell


1

CMD0230

Syntaxfehler


32

LMS1002

Interner Fehler


64

LMS1004

Sonstige Fehler


130

LMS0041

Systemadressraum erschöpft

MODIFY-MAKE-DEFAULTS
Festlegen globaler Parameter

Die globale Ablaufsteuerung für den make-Lauf von LMS erfolgt mit der MODIFY-MAKE-DEFAULTS-Anweisung. Mit MODIFY-MAKE-DEFAULTS können Werte immer wieder geändert werden. Die geänderten Werte gelten für die nachfolgenden Anweisungen.

Die MODIFY-MAKE-DEFAULTS-Operanden ...-VAR definieren die make-S-Variablen, die vor jeder Aktion erneut gesetzt werden.

Die Deklaration der Variablen erfolgt durch LMS. Benutzerdeklarationen im Preprocessing werden nicht überschrieben.

MODIFY-MAKE-DEFAULTS

LIBRARY = *UNCHANGED / *NONE / <filename 1..54 without-vers> / *LINK(...)


*LINK(...)



|

LINK-NAME = <structured-name 1..8>

,CURRENT-TARGET-VAR = *UNCHANGED / *NONE / <structured-name 1..20>

,FROM-OBJECTS-VAR = *UNCHANGED / *NONE / <structured-name 1..20>

,MODIFIED-OBJECTS-VAR = *UNCHANGED / *NONE / <structured-name 1..20>

,SUPPRESS-ERRORS = *UNCHANGED / *NONE / *ALL

LIBRARY = *UNCHANGED / *NONE / <filename 1..54 without-vers> / *LINK(...)

Default-Bibliothek
Bibliothek, die bei Bibliothekselementen für *MAKE-DEFAULT eingesetzt werden soll. Initialwert ist die Bibliothek, die in der BEGIN-MAKE-Anweisung für TARGET angegeben wurde (bei einer Datei als Ziel ist der Wert *NONE).

LIBRARY = *NONE
Keine Default-Bibliothek. Verwendung der Default-Bibliothek in den weiteren Anweisungen führt zu Fehler.

LIBRARY = <filename 1..54 without-vers> Angabe einer Default-Bibliothek.

LIBRARY = *LINK(...)
Angabe einer Default-Bibliothek.

LINK-NAME = <structured-name 1..8>

Dateikettungsname der Default-Bibliothek.

CURRENT-TARGET-VAR = *UNCHANGED / *NONE / <structured-name 1..20>

S-Struktur-Variable, der das aktuelle Ziel zugewiesen wird.

CURRENT-TARGET-VAR = *NONE
Keiner S-Struktur-Variable soll das aktuelle Ziel zugewiesen werden.

CURRENT-TARGET-VAR = <structured-name 1..20>
Der angegebenen S-Struktur-Variable soll das aktuelle Ziel zugewiesen werden.

FROM-OBJECTS-VAR = *UNCHANGED / *NONE / <structured-name 1..20>

S-Listen-Variable, der alle Ausgangskomponenten zum aktuellen Ziel zugewiesen werden.

FROM-OBJECTS-VAR = *NONE
Keiner S-Listen-Variable sollen die Ausgangskomponenten zugewiesen werden.

FROM-OBJECTS-VAR = <structured-name 1..20>
Der angegebene S-Listen-Variable sollen die Ausgangskomponenten zugewiesen werden.

MODIFIED-OBJECTS-VAR = *UNCHANGED / *NONE / <structured-name 1..20>

S-Listen-Variable, der neuere Ausgangskomponenten zugewiesen werden. Das sind alle Ausgangskomponenten, die neuer sind als das aktuelle Ziel bzw. alle, wenn bei BEGIN-MAKE SELECT=*ALL angegeben wurde.

MODIFIED-OBJECTS-VAR = *NONE
Keiner S-Listen-Variable sollen die neueren Komponenten zugewiesen werden.

MODIFIED-OBJECTS-VAR = <structured-name 1..20>
Der angegebenen S-Listen-Variable sollen die neueren Ausgangskomponenten zugewiesen werden.

SUPPRESS-ERRORS = *UNCHANGED / *NONE / *ALL

Default für die Fehlerunterdrückung bei Aktionen.

SUPPRESS-ERRORS = *NONE
Fehler führen zum Abbruch der erzeugten Prozedur (Spinoff).

SUPPRESS-ERRORS = *ALL
Fehler im Ablauf der Aktion werden unterdrückt, führen also nicht zum Abbruch der erzeugten Prozedur. Bei Listen von Aktionen erfolgt die Fehlerunterdrückung nur am Ende. Die Prozedur wird nach der/den Aktion(en) zu dieser Abhängigkeit fortgesetzt.

Anweisungs-Returncode

(SC2)      SC1

Maincode

Bedeutung

0
1

CMD0001
CMD0230

Ohne Fehler
Syntaxfehler

Beispiel

Für den weiteren make-Lauf sollen die make-S-Variablen sowie die Standardbibliothek neu definiert werden. Die Variable CURT soll jeweils das bearbeitete Ziel, ALLOBJ alle Ausgangskomponenten enthalten.

//MODIFY-MAKE-DEFAULTS LIBRARY =BSPLIB,-

  CURRENT-TARGET-VAR=CURT,FROM-OBJECTS-VAR=ALLOBJ

SET-DEPENDENCY
Festlegen von Abhängigkeiten zwischen Komponenten

Die Festlegung der Abhängigkeiten zwischen Objekten erfolgt mit der SET-DEPENDENCY-Anweisung.

SET-DEPENDENCY

TARGET-OBJECT = *VARIABLE(...) / list-poss(2000): *LIBRARY-ELEMENT(...) /









<filename 1..54 without-vers with-wild(80)>


*VARIABLE(...)



|

VARIABLE-NAME = <composed-name 1..255>


*LIBRARY-ELEMENT(...)



|

LIBRARY = *MAKE-DEFAULT / <filename 1..54 without-vers> / *LINK(...)



|


*LINK(...)



|



|

LINK-NAME = <structured-name 1..8>



|

,ELEMENT = <composed-name 1..64 with-under with-wild(132)>(...)



|


<composed-name 1..64 with-under with-wild(132)>(...)



|



|

VERSION = *HIGHEST-EXISTING / *UPPER-LIMIT / <composed-name 1..24 with-under>



|



|

,BASE = *STD / <composed-name 1..24 with-under with-wild>



|

,TYPE = <alphanum-name 1..8 with-wild(20)>

,FROM-OBJECT = *NONE / *VARIABLE(...) / list-poss(2000): *LIBRARY-ELEMENT(...) /








<filename 1..54 without-vers with-wild-constr>


*VARIABLE(...)



|

NAME = <composed-name 1..255>


*LIBRARY-ELEMENT(...)



|

LIBRARY = *MAKE-DEFAULT / <filename 1..54 without-vers> / *LINK(...)



|


*LINK(...)



|



|

LINK-NAME = <structured-name 1..8>



|

,ELEMENT = <composed-name 1..132 with-under with-wild-constr>(...)



|


<composed-name 1..132 with-under with-wildcard-constr>(...)



|



|

VERSION = *HIGHEST-EXISTING / *UPPER-LIMIT / <composed-name 1..24 with-under>



|



|

,BASE = *STD / <composed-name 1..24 with-under with-wild>



|

,TYPE = <alphanum-name 1..20 with-wild-constr>

,ACTION = *STD / list-poss(2000): <c-string 1..1800 with-low>

,SUPPRESS-ERRORS = *MAKE-DEFAULT / *NONE / *ALL

TARGET-OBJECT = *VARIABLE(...) / list-poss(2000): *LIBRARY-ELEMENT(...) / <filename 1..54 without-vers with-wild(80)>

Zielkomponente.
Ziel der Abhängigkeitsdefinition. Wildcards sind korrespondierend zu den Angaben im FROM-OBJECT-Operanden (siehe auch "Auswahl- und Konstruktionsangabe bei make", Auswahlangabe bei make).

TARGET-OBJECT = *VARIABLE (...)
Die Zielobjekte befinden sich in einer S-Listen-Variablen.
Die einzelnen Listenelemente müssen im Format von LMS vorliegen. Die Version*HIGHEST-EXISTING wird durch *HIGH-EXIST dargestellt.

VARIABLE-NAME = <composed-name 1..255> Name der S-Listen-Variable.

TARGET-OBJECT = list-poss(2000): *LIBRARY-ELEMENT(...)
Die Zielkomponente ist ein Bibliothekselement. Sie muss explizit eingegeben werden.

LIBRARY = *MAKE-DEFAULT / <filename 1..54 without-vers> / *LINK(...) Bibliothek des Zielelements.

LIBRARY = *MAKE-DEFAULT
Die durch die make-Subanweisung MODIFY-MAKE-DEFAULTS voreingestellte Bibliothek.

LIBRARY = <filename 1..54 without-vers>

Bibliothek des Zielelements.

LIBRARY = *LINK(...)

Bibliothek des Zielelements.

LINK-NAME = <structured-name 1..8>

Linkname der Bibliothek des Zielelements.

ELEMENT = <composed-name 1..64 with-under with-wild(132)>(...)
Name des Zielelements (Wildcards: siehe "Auswahl- und Konstruktionsangabe bei make", Auswahlangabe bei make).

VERSION = *HIGHEST-EXISTING / *UPPER-LIMIT / <composed-name 1..24 with-under>
Version des Zielelements.

VERSION = *HIGHEST-EXISTING
Es wird die höchste existierende Version überschrieben. Existiert keine, wird eine Defaultversion analog LMS erzeugt.

VERSION = *UPPER-LIMIT
Es wird die höchstmögliche Version X’FF’ erzeugt.

VERSION = <composed-name 1..24 with-under>
Der hier angegebene Text wird als Versionsbezeichnung interpretiert.

BASE = *STD / <composed-name 1..24 with-under with-wild>

Legt die Basis des Zielelements fest.

TYPE = <alphanum-name 1..8 with-wild(20)>

Typ, den das Zielelement besitzt.

TARGET-OBJECT = <filename 1..54 without-vers with-wild(80)>
Ziel der Abhängigkeitsdefinition (Wildcards: siehe "Auswahl- und Konstruktionsangabe bei make", Auswahlangabe bei make).

FROM-OBJECT = *NONE / *VARIABLE(...) / list-poss(2000): *LIBRARY-ELEMENT(...) /<filename 1..54 without-vers with-wild-constr>
Ausgangskomponente der Abhängigkeitsdefinition. Die Wildcards sind korrespondierend zu den Angaben im TARGET-OBJECT-Operanden (Wildcards: siehe "Auswahl- und Konstruktionsangabe bei make", Konstruktionsangabe bei make).

FROM-OBJECT = *NONE
Es werden keine Komponenten vorausgesetzt. Die Zielkomponente ist nie aktuell.

FROM-OBJECT = *VARIABLE (...)
Die vorausgesetzten Ausgangsobjekte befinden sich in einer S-Listen-Variablen. Die einzelnen Listenelemente müssen im Format von LMS vorliegen. Die Version *HIGHEST-EXISTING wird durch *HIGH-EXIST dargestellt.

NAME = <composed-name 1..255>

Name der S-Listen-Variable.

FROM-OBJECT = list-poss(2000): *LIBRARY-ELEMENT(...)

Die Ausgangskomponenten sind Bibliothekselemente.

LIBRARY = *MAKE-DEFAULT / <filename 1..54 without-vers> / *LINK(...)

Bibliothek des Ausgangselements.

LIBRARY = *MAKE-DEFAULT
Die durch die make-Subanweisung MODIFY-MAKE-DEFAULTS voreingestellte Bibliothek.

LIBRARY = <filename 1..54 without-vers> Bibliothek des Ausgangselements.

LIBRARY = *LINK(...)
Bibliothek des Ausgangselements.

LINK-NAME = <structured-name 1..8>
Linkname der Bibliothek des Ausgangselements.

ELEMENT = <composed-name 1..132 with-under with-wild-constr>(...)
Name des Ausgangselements (Wildcards: siehe "Auswahl- und Konstruktionsangabe bei make", Konstruktionsangabe bei make).

VERSION = *HIGHEST-EXISTING / *UPPER-LIMIT / <composed-name 1..24 with-under>

Version des Ausgangselements.

VERSION = *HIGHEST-EXISTING
Es wird die höchste existierende Version ausgewählt.

VERSION = *UPPER-LIMIT
Es wird die höchstmögliche Version X’FF’ ausgewählt.

VERSION = <composed-name 1..24 with-under>
Der hier angegebene Text wird als Versionsbezeichnung interpretiert.

BASE = *STD / <composed-name 1..24 with-under with-wild> Legt die Basis des Ausgangselements fest.

TYPE = <alphanum-name 1..20 with-wild-constr> Typ, den das Ausgangselement besitzt.

FROM-OBJECT = <filename 1..54 without-vers with-wild-constr>
Ausgangskomponente der Abhängigkeitsdefinition (Wildcards: siehe "Auswahl- und Konstruktionsangabe bei make", KKonstruktionsangabe bei make).

ACTION = *STD / list-poss(2000): <c-string 1..1800 with-low>

Aktion, die ausgeführt wird, um die Zielkomponente zu erzeugen.

ACTION = *STD
Die bei der make-Subanweisung SET-STD-ACTION für die Kombination aus Ausgangs- und Zieltyp spezifizierte Aktion wird ausgeführt. Sind für TARGET-OBJECT oder FROM-OBJECT Listen angegeben, wird jeweils der Typ des ersten Listenelements zur Bestimmung der Standard-Aktion herangezogen. Für Dateien können keine Standard-Aktionen spezifiziert werden.

ACTION = list-poss(2000): <c-string 1..1800 with-low>
Eine oder mehrere Aktionen, die zur Erzeugung der Zielkomponenten aus den Ausgangskomponenten dienen. Jede einzelne Aktion wird eine eigene Zeile in der durch BEGIN-MAKE erzeugten Prozedur.

SUPPRESS-ERRORS = *MAKE-DEFAULT / *NONE / *ALL

Fehlerunterdrückung bei Aktionen.

SUPPRESS-ERRORS = *MAKE-DEFAULT
Die durch MODIFY-MAKE-DEFAULTS voreingestellte Fehlerunterdrückung.

SUPPRESS-ERRORS = *NONE
Fehler führen zum Abbruch der erzeugten Prozedur (Spinoff).

SUPPRESS-ERRORS = *ALL

Fehler im Ablauf der Aktion werden unterdrückt, führen also nicht zum Abbruch der erzeugten Prozedur. Bei Listen von Aktionen erfolgt die Fehlerunterdrückung nur am Ende. Die Prozedur wird nach der/den Aktion(en) zu dieser Abhängigkeit fortgesetzt.

Anweisungs-Returncode

(SC2)      SC1

Maincode

Bedeutung

0
1

CMD0001
CMD0230

Ohne Fehler
Syntaxfehler

Hinweise

  • Das erste Ziel der ersten Abhängigkeitsdefinition kann in BEGIN-MAKE unter dem Namen *FIRST-TARGET als Gesamtziel des make-Laufs bestimmt werden (Voreinstellung).

  • Am Ende der Aktion sollte kein Programm geladen sein.

Beispiel

Die Phase PROG in der Standardbibliothek besteht aus den Bindemoduln TEIL1 und TEIL2. PROG wird mit Hilfe der Prozedur *LIB(BSPLIB,LINK) erzeugt. Weiterhin sind die Bindemodule (Elementtyp R) aus gleichnamigen Sourcen (Typ S) mit Hilfe der Prozedur *LIB(BSPLIB,COMPILE) erzeugt. Die Auswahlangabe *LIB(,*,R) wirkt auf die im Programmsystem vorhandenen Elemente vom Typ R, also TEIL1 und TEIL2. Die Module sollen aus gleichnamigen Sourcen erzeugt werden. Die Variable ALLOBJ enthalte alle Ausgangskomponenten, die Variable CURT (für current target) das jeweils bearbeitete Ziel.

//SET-DEPENDENCY TARGET-OBJECT=PROG, -
//   FROM-OBJECT=(*LIB(,TEIL1,R),*LIB(,TEIL2,R)), -
//   ACTION='/CALL-PROCEDURE *LIB(BSPLIB,LINK),(OBJVAR=ALLOBJ)'
//SET-DEPENDENCY -
//   TARGET-OBJECT=*LIB(,*,R),- 
//   FROM-OBJECT=(*LIB(,*,S),*LIB(,GLOBALDATA,M),*LIB(,HEADERS,M)),-
//   ACTION='/CALL-PROCEDURE *LIB(BSPLIB,COMPILE),(&&(CURT.ELEM))' 

In einer dem UNIX-make ähnlichen, abgekürzten Schreibweise:

//SET-DEPENDENCY PROG, (*LIB(,TEIL1,R),*LIB(,TEIL2,R)), -
//    ́'/CALL-PROCEDURE *LIB(BSPLIB,LINK),(OBJVAR=ALLOBJ) ́'-
//SET-DEPENDENCY *LIB(,*,R), *LIB(,*,S),-
//    ́'/CALL-PROCEDURE *LIB(BSPLIB,COMPILE),(&&(CURT.ELEM)) '

SET-POSTPROCESSING
Festlegen von Aktionen, die nach der Folgeverarbeitung laufen

Die Aktionen, die die erzeugte Prozedur abschließen, werden mit der Anweisung SET-POSTPROCESSING spezifiziert. Die Anweisung SET-POSTPROCESSING darf nur einmal angegeben werden.

SET-POSTPROCESSING

ACTION = list-poss(2000): <c-string 1..1800 with-low>

ACTION = list-poss(2000): <c-string 1..1800 with-low>
Die angegebenen Aktionen werden als letzte in die zu erzeugende Prozedur geschrieben.

Anweisungs-Returncode

(SC2)      SC1

Maincode

Bedeutung

0
1

CMD0001
CMD0230

Ohne Fehler
Syntaxfehler

Hinweis

Die Aktion wird nicht ausgeführt, wenn das Ziel des make-Laufs aktuell ist.

Beispiel

In der erzeugten Prozedur soll am Ende das Kommando /CALL-PROCEDURE *LIB(BSPLIB,STOP) ausgeführt werden.

//SET-POSTPROCESSING ACTION='/CALL-PROCEDURE *LIB(BSPLIB,STOP)'

SET-PREPROCESSING
Festlegen von Aktionen, die vor der Folgeverarbeitung laufen

Die Aktionen, die am Anfang der erzeugten Prozedur stehen sollen, werden mit der Anweisung SET-PREPROCESSING spezifiziert. Die Anweisung SET-PREPROCESSING darf nur einmal angegeben werden.

SET-PREPROCESSING

ACTION = list-poss(2000): <c-string 1..1800 with-low>

SUPPRESS-ERRORS = *MAKE-DEFAULT / *NONE / *ALL

ACTION = list-poss(2000): <c-string 1..1800 with-low>
Die angegebenen Aktionen werden als erste in die zu erzeugende Prozedur eingebracht.

SUPPRESS-ERRORS = *MAKE-DEFAULT / *NONE / *ALL

Default für die Fehlerunterdrückung bei Aktionen.

SUPPRESS-ERRORS = *MAKE-DEFAULT
Die durch MODIFY-MAKE-DEFAULTS eingestellte Fehlerunterdrückung.

SUPPRESS-ERRORS = *NONE
Fehler führen zum Abbruch der erzeugten Prozedur (Spinoff).

SUPPRESS-ERRORS = *ALL
Fehler im Ablauf der Aktion werden unterdrückt, führen also nicht zum Abbruch der erzeugten Prozedur. Bei Listen von Aktionen erfolgt die Fehlerunterdrückung nur am Ende. Die Prozedur wird nach der/den Aktion(en) zu dieser Abhängigkeit fortgesetzt.

Anweisungs-Returncode

(SC2)      SC1

Maincode

Bedeutung

0
1

CMD0001
CMD0230

Ohne Fehler
Syntaxfehler

Hinweis

Die Aktion wird nicht ausgeführt, wenn das Ziel des make-Laufs aktuell ist.

Beispiel

In der Prozedur soll am Anfang das Kommando /CALL-PROCEDURE *LIB(BSPLIB,INIT) ausgeführt werden.

//SET-PREPROCESSING ACTION='/CALL-PROCEDURE *LIB(BSPLIB,INIT)'

SET-STD-ACTION
Festlegen von Standard-Aktionen

In der Anweisung SET-STD-ACTION können Standard-Aktionen angegeben werden, mit denen aus Ausgangskomponenten eines bestimmten Typs Zielkomponenten eines anderen Typs erzeugt werden können. Auf diese Standard-Aktionen kann in der SET-DEPENDENCY-Anweisung Bezug genommen werden.

Die Anweisung SET-STD-ACTION kann nur für Abhängigkeiten zwischen Bibliothekselementen wirken und darf pro Kombination von Ausgangs- und Ziel-Typ nur einmal angegeben werden. Dateien können keine Standard-Aktionen zugewiesen werden, da sie keine Typen haben.

SET-STD-ACTION

TARGET-TYPE = <alphanum-name 1..8>

,FROM-TYPE = <alphanum-name 1..8>

,ACTION = list-poss(2000): <c-string 1..1800 with-low>

TARGET-TYPE = <alphanum-name 1..8>

Element-Typ der Zielkomponente.

FROM-TYPE = <alphanum-name 1..8>

Element-Typ der Ausgangskomponente.

ACTION = list-poss(2000): <c-string 1..1800 with-low>
Standard-Aktion zur Erzeugung von Komponenten des Ziel-Typs aus Komponenten des Ausgangs-Typs.

Anweisungs-Returncode

(SC2)      SC1

Maincode

Bedeutung

0
1

CMD0001
CMD0230

Ohne Fehler
Syntaxfehler

Hinweis

Am Ende der Aktion sollte kein Programm geladen sein.

Beispiel

In der SET-DEPENDENCY-Anweisung ohne explizite Aktion sollen Elemente vom Elementtyp S mit Hilfe der spezifizierten Standard-Aktionen Typ-R-Elemente erzeugen.

//SET-STD-ACTION -
//   TARGET-TYPE=R,FROM-TYPE=S,-
//   ACTION='/CALL-PROCEDURE *LIB(BSPLIB,COMPILE,(&&(CURT.ELEM))'
//SET-DEPENDENCY -
//   TARGET-OBJECT=*LIB(,*,R),FROM-OBJECT=*LIB(,*,S) 

In einer dem UNIX-make ähnlichen, abgekürzten Schreibweise (//SET-STD-ACTION entspricht der Verwendung der .Suffixes des UNIX-make:

//SET-STD-ACTION R,S,-
//   '/CALL-PROCEDURE *LIB(BSPLIB,COMPILE),(&&(CURT.ELEM))'
//SET-DEPENDENCY *LIB(,*,R), *LIB(,*,S)