|
1 /******************************************************************************/ |
|
2 /* */ |
|
3 /* ZLIB */ |
|
4 /* */ |
|
5 /* Compile sources into modules and link them into a service program. */ |
|
6 /* */ |
|
7 /******************************************************************************/ |
|
8 |
|
9 PGM |
|
10 |
|
11 /* Configuration adjustable parameters. */ |
|
12 |
|
13 DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10) + |
|
14 VALUE('ZLIB') /* Source library. */ |
|
15 DCL VAR(&SRCFILE) TYPE(*CHAR) LEN(10) + |
|
16 VALUE('SOURCES') /* Source member file. */ |
|
17 DCL VAR(&CTLFILE) TYPE(*CHAR) LEN(10) + |
|
18 VALUE('TOOLS') /* Control member file. */ |
|
19 |
|
20 DCL VAR(&MODLIB) TYPE(*CHAR) LEN(10) + |
|
21 VALUE('ZLIB') /* Module library. */ |
|
22 |
|
23 DCL VAR(&SRVLIB) TYPE(*CHAR) LEN(10) + |
|
24 VALUE('LGPL') /* Service program library. */ |
|
25 |
|
26 DCL VAR(&CFLAGS) TYPE(*CHAR) + |
|
27 VALUE('OPTIMIZE(40)') /* Compile options. */ |
|
28 |
|
29 |
|
30 /* Working storage. */ |
|
31 |
|
32 DCL VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(300) /* Command length. */ |
|
33 DCL VAR(&CMD) TYPE(*CHAR) LEN(512) |
|
34 |
|
35 |
|
36 /* Compile sources into modules. */ |
|
37 |
|
38 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
39 '/ADLER32) SRCFILE(' *TCAT + |
|
40 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
41 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
42 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
43 |
|
44 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
45 '/COMPRESS) SRCFILE(' *TCAT + |
|
46 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
47 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
48 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
49 |
|
50 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
51 '/CRC32) SRCFILE(' *TCAT + |
|
52 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
53 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
54 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
55 |
|
56 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
57 '/DEFLATE) SRCFILE(' *TCAT + |
|
58 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
59 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
60 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
61 |
|
62 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
63 '/GZIO) SRCFILE(' *TCAT + |
|
64 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
65 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
66 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
67 |
|
68 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
69 '/INFBACK) SRCFILE(' *TCAT + |
|
70 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
71 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
72 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
73 |
|
74 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
75 '/INFFAST) SRCFILE(' *TCAT + |
|
76 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
77 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
78 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
79 |
|
80 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
81 '/INFLATE) SRCFILE(' *TCAT + |
|
82 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
83 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
84 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
85 |
|
86 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
87 '/INFTREES) SRCFILE(' *TCAT + |
|
88 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
89 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
90 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
91 |
|
92 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
93 '/TREES) SRCFILE(' *TCAT + |
|
94 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
95 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
96 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
97 |
|
98 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
99 '/UNCOMPR) SRCFILE(' *TCAT + |
|
100 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
101 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
102 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
103 |
|
104 CHGVAR VAR(&CMD) VALUE('CRTCMOD MODULE(' *TCAT &MODLIB *TCAT + |
|
105 '/ZUTIL) SRCFILE(' *TCAT + |
|
106 &SRCLIB *TCAT '/' *TCAT &SRCFILE *TCAT + |
|
107 ') SYSIFCOPT(*IFSIO)' *BCAT &CFLAGS) |
|
108 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) |
|
109 |
|
110 |
|
111 /* Link modules into a service program. */ |
|
112 |
|
113 CRTSRVPGM SRVPGM(&SRVLIB/ZLIB) + |
|
114 MODULE(&MODLIB/ADLER32 &MODLIB/COMPRESS + |
|
115 &MODLIB/CRC32 &MODLIB/DEFLATE + |
|
116 &MODLIB/GZIO &MODLIB/INFBACK + |
|
117 &MODLIB/INFFAST &MODLIB/INFLATE + |
|
118 &MODLIB/INFTREES &MODLIB/TREES + |
|
119 &MODLIB/UNCOMPR &MODLIB/ZUTIL) + |
|
120 SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) + |
|
121 TEXT('ZLIB 1.2.3') TGTRLS(V4R4M0) |
|
122 |
|
123 ENDPGM |