Secondary input to the linker

Secondary input is either all object modules or all load modules, but it cannot contain both types.

Specify the secondary input data sets with a SYSLIB statement and, if the data sets are object modules, add the linkage editor LIBRARY and INCLUDE control statements. If you have multiple secondary input data sets, concatenate them as follows:
//SYSLIB DD DSNAME=CEE.SCEELKED,DISP=SHR
//       DD DSNAME=AREA.SALESLIB,DISP=SHR

To specify additional object modules or libraries, code INCLUDE and LIBRARY statements after your DD statements as part of your job control procedure, such as in Figure 1.

Figure 1. Linkage editor control statements
⋮
//SYSLIN DD    DSNAME=&&GOFILE,DISP=(SHR,DELETE)
//       DD    *
   INCLUDE ddname(member)
   LIBRARY ADDLIB(CPGM10)
/*

When the linkage editor encounters the INCLUDE statement, it incorporates the data sets that the control statement specifies. In contrast, the linkage editor uses the data sets that are specified by the LIBRARY statement only when there are unresolved references after it.

When you use cataloged procedures or your own JCL to invoke the linkage editor, external symbol resolution by automatic library call involves a search of the data set defined by the DD statement with the name SYSLIB.