: $Workfile:   kixprep.sh  $ $Revision:   1.1  $
#**********************************************************************#
#*                                                                    *#
#* Copyright (c) 2001 by Sun Microsystems, Inc.                       *#
#* All rights reserved.                                               *#
#*                                                                    *#
#**********************************************************************#


# kixclt
# call the COPYBOOK expansion program (kixcpx)
# which builds a tempfile of the expanded source
# which in turn is input to the translator program (kixcplcc).

set -- `getopt AECqrud:t:e:f:go: $*`

CPLCC=$UNIKIX/bin/kixcplc
CPCEE=$UNIKIX/bin/kixceepl
CPLCP=$UNIKIX/bin/kixplt
CPCPX=$UNIKIX/bin/kixcpx
DASH_E="N"
DASH_r="N"
DASH_o=""
DASH_A=""
DASH_g=""
INPUT=""
CPX_ARGS=""
TRN_ARGS=""

while test "$1" != "--"
do
   if test "$1" = "-A"
   then
# The following are general (both COB and PLI) args -----------------------

# Audit only -- no code generation
      TRN_ARGS="-A $TRN_ARGS"
      DASH_A="-A"
# output the .err file ONLY
   elif test "$1" = "-E"
   then
      DASH_E="Y"
# The following are COBOL related args ----------------------------
   elif test "$1" = "-C"
   then
      CPX_ARGS="-C $CPX_ARGS"
   elif test "$1" = "-q"
   then
      CPX_ARGS="-q $CPX_ARGS"
      TRN_ARGS="-q $TRN_ARGS"
   elif test "$1" = "-r"
   then
      DASH_r="Y"
   elif test "$1" = "-u"
   then
      CPX_ARGS="-u $CPX_ARGS"
   elif test "$1" = "-d"
   then
      shift
      ORACLE=$1
      CPX_ARGS="-d $1 $CPX_ARGS"
   elif test "$1" = "-t"
   then
      shift
      TABS=$1
      CPX_ARGS="-t $1 $CPX_ARGS"
      TRN_ARGS="-t $1 $TRN_ARGS"
   elif test "$1" = "-e"
   then
      shift
      CPYEXT=$1
      CPX_ARGS="-e $1 $CPX_ARGS"
   elif test "$1" = "-f"
   then
      shift
      CPX_ARGS="-f $1 $CPX_ARGS"
# The following are PLI related args --------------------------------
   elif test "$1" = "-g"
   then
      DASH_g="-cicsdebug "
      TRN_ARGS="$DASH_g $TRN_ARGS"
# The meaning of -o varies with cl2/clt or plt suffix
   elif test "$1" = "-o"
   then
      shift
      DASH_o=$1
   else
# some shells (e.g. NT) may not pass an invalid option along for processing,
# others, e.g HP,  may. So, this message may or may not be displayed.
# If it does get passed along, then $1 is probably null but getopt will
# display it's own illegal option message along with the option itself.
# $1 will get display if it is in the option list but no elif code is
# present to support it.
      echo Illegal option $1 encountered, no code found to support this option
      exit 1
   fi
   shift
done

while test "$2" != ""
do

EXT=`echo $2 | sed -e "s/.*\.//"`
BNAM="`basename $2`"
NAM=`echo $BNAM | sed -e "s/\..*$//"`
TEX="x$EXT"
INPUT="$2"
rm -f $NAM.err

if test "$EXT" != "pl1" &&
   test "$EXT" != "pli" &&
   test "$EXT" != "plt" &&
   test "$EXT" != "clt" &&
   test "$EXT" != "cl2" &&
   test "$EXT" != "ccs"
   then
   echo "Illegal source file extension '$EXT' (must be clt cl2 pl1 pli plt ccs)"
   exit 2
fi

if test "$EXT" != "pl1" &&
   test "$EXT" != "pli" &&
   test "$EXT" != "plt"

   then
   TEMP=$NAM.`$UNIKIX/bin/kixmktmp`
   TEMP="`basename $TEMP`"
   TEMP="$TEMP$TEX"
   if test "$EXT" != "ccs"
      then
      echo "KIXCLT Processing $2"
      $CPCPX $CPX_ARGS -o $TEMP $2
   fi

   else
   EXT=`echo $INPUT | sed -e "s/.*\.//"`
   BNAM="`basename $INPUT`"
   NAM=`echo $BNAM | sed -e "s/\..*$//"`
   rm -f $NAM.err
fi

COND=$?
if test $COND = 0
   then
   if test "$EXT" != "pl1" &&
      test "$EXT" != "pli" &&
      test "$EXT" != "plt"
      then
      if test "$DASH_A" = ""
         then
         if test "$DASH_o" = ""
            then OCBL="$NAM.cbl"
            else OCBL="$DASH_o"
         fi
         if test "$EXT" = "ccs"
            then
            echo "KIXCLT Processing to Build $NAM.c"
            $CPCEE $TRN_ARGS -i $NAM.$EXT -o $NAM.c
            else
            echo "KIXCLT Processing to Build $OCBL"
            $CPLCC $TRN_ARGS -i $TEMP -o $OCBL
         fi
         COND=$?
         if test $COND != 0
            then
            if test "$EXT" != "ccs"
               then
               rm -f $OCBL.x
               mv $OCBL $OCBL.x
               echo "\nKIXCLT **UNCOMPILABLE ERRS** Renaming $OCBL to $OCBL.x\n"
               rm -f $OCBL*hvecs
            fi
         fi

         else
         rm -f $NAM.audlst
         if test $DASH_E = "Y"
            then
            if test "$EXT" = "ccs"
               then
               echo "KIXCLT Processing to Build $NAM.audlst"
               $CPCEE $TRN_ARGS -i $NAM.$EXT -o $NAM.audlst
               else
               echo "KIXCLT Processing to Build $NAM.audlst"
               $CPLCC $TRN_ARGS -i $TEMP -o $NAM.audlst
            fi
            rm -f $NAM.audlst
            else
            if test "$EXT" = "ccs"
               then
               echo "KIXCLT Processing to Build $NAM.audlst"
               $CPCEE $TRN_ARGS -i $NAM.$EXT -o $NAM.audlst
               else
               echo "KIXCLT Processing to Build $NAM.audlst"
               $CPLCC $TRN_ARGS -i $TEMP -o $NAM.audlst
            fi
            echo "AuditList = $NAM.audlst"
         fi

         COND=$?
         if test $COND != 0
            then
            rm -f $NAM.audlst*hvecs
         fi
      fi
      if test $DASH_r = "Y"
         then
         echo "CopyExp = $TEMP"
         else
         rm -f $TEMP
      fi
      DASH_o=""
      else
      if test "$DASH_A" = ""
         then
         if test "$DASH_o" = ""
            then
            echo "KIXCLT Processing $INPUT to $NAM.temppli"
            $CPLCP $TRN_ARGS -i $INPUT -o $NAM.temppli
            else
            echo "KIXCLT Processing $INPUT to $DASH_o"
            $CPLCP $TRN_ARGS -i $INPUT -o $DASH_o
         fi
         else
         if test $DASH_E = "Y"
            then
            echo "KIXCLT Processing $INPUT to $NAM.audlst"
            $CPLCP $TRN_ARGS -i $INPUT -o $NAM.audlst
            rm -f $NAM.audlst
            else
            echo "KIXCLT Processing $INPUT to $NAM.audlst"
            $CPLCP $TRN_ARGS -i $INPUT -o $NAM.audlst
            echo "AuditList = $NAM.audlst"
         fi
      fi
   fi
   if test -s $NAM.err
      then
      echo "ErrorFile = $NAM.err"
      else
      rm -f $NAM.err
   fi
fi
shift
done
