When you build Metal C programs using JCL, you cannot use standard JCL procedures that combine the compilation step with the link step (or link and run steps) because compiling Metal C programs produces HLASM source files that must be assembled by HLASM before they can be linked.
//PROC JCLLIB ORDER=(CBC.SCCNPRC)
//*--------------------------------------------------------------------
//* Invoke METAL C compiler
//*--------------------------------------------------------------------
//METALCMP EXEC EDCC,
// INFILE='HLQ.SOURCE.C(MYCODE)',
// OUTFILE='HLQ.SOURCE.ASM(MYCODE),DISP=SHR',
// CPARM='METAL'
//*--------------------------------------------------------------------
//* ASSEMBLY STEP:
//*--------------------------------------------------------------------
//ASM EXEC HLASMC
//SYSIN DD DSN=HLQ.SOURCE.ASM(MYCODE),DISP=SHR
//SYSLIN DD DSN=HLQ.OBJ(MYCODE),DISP=OLD
//*-------------------------------------------------------------------
//* BIND STEP:
//*-------------------------------------------------------------------
//BIND EXEC PGM=IEWL,
// PARM='AMODE=31,MAP,CASE=MIXED'
//SYSLMOD DD DSNAME=HLQ.LOAD(MYCODE),DISP=SHR 1
//SYSPRINT DD SYSOUT=*
//OBJECT DD DSN=HLQ.OBJ,DISP=SHR
//SYSLIN DD *
INCLUDE OBJECT(MYCODE)
ENTRY MYADD 2
/*