Examples of compiling programs using your own JCL

The following example shows sample JCL for compiling a 32-bit C program:

Figure 1. JCL for compiling a 32-bit C program (for NOOPT, SOURCE, and OBJ)
//jobname    JOB   acctno,name...
//COMPILE    EXEC  PGM=CCNDRVR,
// PARM='/SEARCH(''CEE.SCEEH.+'') NOOPT SO OBJ'
//STEPLIB    DD    DSNAME=CEE.SCEERUN,DISP=SHR
//           DD    DSNAME=CEE.SCEERUN2,DISP=SHR
//           DD    DSNAME=CBC.SCCNCMP,DISP=SHR
//SYSLIN     DD    DSNAME=MYID.MYPROG.OBJ(MEMBER),DISP=SHR
//SYSPRINT   DD    SYSOUT=*
//SYSIN      DD    DATA,DLM=@@
#include <stdio.h>
⋮
int main(void)
{
/*  comment   */
⋮
}
@@
//SYSUT1     DD    DSN=...
⋮
//*

The following example shows sample JCL for compiling a 64-bit C program:

Figure 2. JCL for compiling a 64-bit C program (for NOOPT, SOURCE, and LP64)
//jobname JOB acctno,name...
//COMPILE EXEC PGM=CCNDRVR,
// PARM='/SEARCH(''CEE.SCEEH.+'') NOOPT SO LP64 OPTFILE(DD:CPATH)'
//STEPLIB DD DSNAME=CEE.SCEERUN,DISP=SHR
//        DD DSNAME=CEE.SCEERUN2,DISP=SHR
//        DD DSNAME=CBC.SCCNCMP,DISP=SHR
//SYSLIN DD DSNAME=MYID.MYPROG.OBJ(MEMBER),DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD DATA,DLM=@@
#include <stdio.h> ...
int main(void)
{
/* comment */
⋮
}
@@
//SYSUT1 DD DSN=...
⋮
//*

The following example shows sample JCL for compiling a 32-bit C++ program:

Figure 3. JCL for compiling a 32-bit C++ program (for NOOPT, SOURCE, and OBJ)
//jobname    JOB   acctno,name...
//COMPILE EXEC PGM=CCNDRVR,
// PARM='/CXX SEARCH(''CEE.SCEEH.+'',''CBC.SCLBH.+''),NOOPT,SO,OBJ'
//STEPLIB  DD  DSN=CEE.SCEERUN,DISP=SHR
//         DD  DSN=CEE.SCEERUN2,DISP=SHR
//         DD  DSN=CBC.SCCNCMP,DISP=SHR
//SYSLIN   DD  DSN=MYID.MYPROJ.OBJ,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  DATA,DLM=@@
#include <stdio.h>
#include <iostream.h>
⋮
int main(void)
{
//  comment
⋮
}
@@
//SYSUT1   DD    DSN=...
⋮
//*

The following example shows sample JCL for compiling a 64-bit C++ program:

Figure 4. JCL for compiling a 64-bit C++ program (for NOOPT, SOURCE, and LP64)
//jobname JOB acctno,name...
//COMPILE EXEC PGM=CCNDRVR,
// PARM='/CXX SEARCH(''CEE.SCEEH.+'',''CBC.SCLBH.+''),NOOPT,SO,LP64'
//STEPLIB DD DSN=CEE.SCEERUN,DISP=SHR
//        DD DSN=CEE.SCEERUN2,DISP=SHR
//        DD DSN=CBC.SCCNCMP,DISP=SHR
//SYSLIN DD DSN=MYID.MYPROJ.OBJ,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD DATA,DLM=@@
#include <stdio.>
#include <iostream.h> ...
int main(void)
{
// comment
 ⋮}
@@
//SYSUT1 DD DSN=...
 ⋮//*