#!/bin/sh
#  $Id: lxobjHex,v 1.1 2000/02/23 09:35:26 franklin Exp $
#  $Log: lxobjHex,v $
#  Revision 1.1  2000/02/23 09:35:26  franklin
#  Renamed executables to lx...
#
#  Revision 1.4  1999/01/31 15:39:27  franklin
#  List temp file statistics using ls
#
#  Revision 1.3  1999/01/10 18:55:50  franklin
#  LSDK portablility updates
#
#  Revision 1.2  1999/01/02 22:29:05  franklin
#  Modified to use catimg.
#
#  Revision 1.1  1998/07/31 04:40:55  franklin
#  Updates for the lsdk 1.1 release
#

    lflag=
    lopt=
    aflag=
    aopt=

    CMDNAME=`basename $0`
    USAGE="Usage: $CMDNAME [-a <adrs>] <file>"

    cleanUp() {
	rm -f xobjHex.$$.1 xobjHex.$$.2 xobjHex.$$.3
	exit $1
    }

    trap 'cleanUp 1' 1 2 3 15

    while getopts a:l name
    do
	 case $name in
	 l)      lflag=1
		 ;;
	 a)      aflag=1
		 aval="$OPTARG"
		 ;;
	 --)     shift
		 break
		 ;;
	 -*)     echo "$USAGE" 1>&2
		 exit 1
		 ;;
	 *)      break
		 ;;
	 esac
    done

    if [ ! -z "$lflag" ]; then
	 lopt="-l"
    fi

    if [ ! -z "$aflag" ]; then
	 aopt="-o$aval"
    fi

    if [ $OPTIND != 1 ]; then
	shift `expr $OPTIND - 1`
    fi

    rsdk-elf-objcopy -R .data -R .sdata -R .sbss -R .bss -O binary $1 xobjHex.$$.1
    rsdk-elf-objcopy -R .text -R .rdata -O binary $1 xobjHex.$$.2
    catimg xobjHex.$$.1 xobjHex.$$.2 xobjHex.$$.3
    rsdk-elf-objcopy -I binary -O srec xobjHex.$$.3 $2

    ls -l xobjHex.$$.1 xobjHex.$$.2 xobjHex.$$.3

    cleanUp 0
