Allocate an object partitioned dataset prefix.ZLIB.OBJ;
LRECL=80,BLKSIZE=3200,RECFM=FB.
Submit the following job to compile zlib:
// JOB
//CC JCLLIB ORDER=(CBC.SCBCPRC)
//*
//ADLER32 EXEC EDCC,INFILE='prefix.ZLIB.C(ADLER32)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(ADLER32),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//COMPRESS EXEC EDCC,INFILE='prefix.ZLIB.C(COMPRESS)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(COMPRESS),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//CRC32 EXEC EDCC,INFILE='prefix.ZLIB.C(CRC32)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(CRC32),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//DEFLATE EXEC EDCC,INFILE='prefix.ZLIB.C(DEFLATE)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(DEFLATE),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//EXAMPLE EXEC EDCC,INFILE='prefix.ZLIB.C(EXAMPLE)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(EXAMPLE),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//GZIO EXEC EDCC,INFILE='prefix.ZLIB.C(GZIO)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(GZIO),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//INFBLOCK EXEC EDCC,INFILE='prefix.ZLIB.C(INFBLOCK)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(INFBLOCK),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//INFCODES EXEC EDCC,INFILE='prefix.ZLIB.C(INFCODES)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(INFCODES),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//INFFAST EXEC EDCC,INFILE='prefix.ZLIB.C(INFFAST)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(INFFAST),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//INFLATE EXEC EDCC,INFILE='prefix.ZLIB.C(INFLATE)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(INFLATE),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//INFTREES EXEC EDCC,INFILE='prefix.ZLIB.C(INFTREES)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(INFTREES),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//INFUTIL EXEC EDCC,INFILE='prefix.ZLIB.C(INFUTIL)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(INFUTIL),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//TREES EXEC EDCC,INFILE='prefix.ZLIB.C(TREES)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(TREES),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//UNCOMPR EXEC EDCC,INFILE='prefix.ZLIB.C(UNCOMPR)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(UNCOMPR),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H
//*
//ZUTIL EXEC EDCC,INFILE='prefix.ZLIB.C(ZUTIL)',
// CPARM='RENT,LIST,SOURCE,LONGNAME,AGG,OPT(2)',
// OUTFILE='prefix.ZLIB.OBJ(ZUTIL),DISP=SHR'
//USERLIB DD DISP=SHR,DSN=prefix.ZLIB.H