home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / uccs / root.14 / udk / usr / ccs / lib / fur / mkblocklog < prev    next >
Encoding:
Korn shell script  |  1998-08-19  |  1.9 KB  |  77 lines

  1. #!/usr/bin/ksh
  2.  
  3. # Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  4. #                                                                         
  5. #        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  6. #                   SANTA CRUZ OPERATION INC.                             
  7. #                                                                         
  8. #   The copyright notice above does not evidence any actual or intended   
  9. #   publication of such source code.                                      
  10.  
  11. #ident    "@(#)fur:common/cmd/fur/mkblocklog.sh    1.3"
  12. set -e
  13. while [ -n "$1" ]
  14. do
  15.     case "$1" in
  16.     -p)
  17.         shift
  18.         BLOCKLOGPREFIX="$1"
  19.         ;;
  20.     -*)
  21.         OPTS="$1 $OPTS"
  22.         ;;
  23.     *)
  24.         if [ -z "$NBLOCKS" ]
  25.         then
  26.             NBLOCKS="$1"
  27.         elif [ -z "$FILENAME" ]
  28.         then
  29.             FILENAME="$1"
  30.         fi
  31.     esac
  32.     shift
  33. done
  34. i=0
  35. flow=0
  36. while (( (i=i+1) < ARGC ))
  37. do
  38.     eval ARG=\"\$ARGV$i\"
  39.     case "$ARG" in
  40.     -bflow)
  41.         flow=1
  42.         OPTS="$OPTS -DFLOW"
  43.         ;;
  44.     -b)
  45.         let j=i+1
  46.         eval ARG=\"\$ARGV$j\"
  47.         if [ "$ARG" = flow ]
  48.         then
  49.             OPTS="$OPTS -DFLOW"
  50.             flow=1
  51.         fi
  52.         ;;
  53.     esac
  54. done
  55. if [ -z "$BLOCKLOGPREFIX" ]
  56. then
  57.     BLOCKLOGPREFIX="block.$FILENAME"
  58. fi
  59. typeset -L12 SHORT
  60. FILEN=${FILENAME##*/}
  61. FILEN=${FILEN%%.*}
  62. SHORT=$FILEN
  63. eval SFILEN=$SHORT
  64. if (( NBLOCKS <= 0 ))
  65. then
  66.     /bin/as -o log.$FILEN.o - < /dev/null
  67.     exit 0
  68. fi
  69. sed -e "s/BlockCount/${SFILEN}BlockCount/g" -e "s/blocklog/${SFILEN}blocklog/g" /udk/usr/ccs/lib/fur/flowlog.s | m4 $OPTS | as -o fast.$$.o -
  70. if (( flow ))
  71. then
  72.     sed -e "s/blockcount/flowcount/g" -e "s/blocklog/${SFILEN}blocklog/g" /udk/usr/ccs/lib/fur/blocklog.c > log.$$.c
  73. else
  74.     sed -e "s/blocklog/${SFILEN}blocklog/g" /udk/usr/ccs/lib/fur/blocklog.c > log.$$.c
  75. fi
  76. cc -O -I/udk/usr/ccs/lib/fur $OPTS -DNBLOCKS=$NBLOCKS -DBlockSize="${SFILEN}BlockSize" -Dblocklog="${SFILEN}blocklog" -DBlockCount="${SFILEN}BlockCount" -DBLOCKLOGPREFIX=\"$BLOCKLOGPREFIX\" -c log.$$.c && ld -r -o log.$FILEN.o fast.$$.o log.$$.o && rm -f log.$$.c log.$$.o fast.$$.o
  77.