DataMuseum.dk

Presents historical artifacts from the history of:

RC9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: @ M T

⟦dd031fcdc⟧ TextFile

    Length: 2678 (0xa76)
    Types: TextFile
    Notes: @(#)MakeResult 13.4 (RC International) 91/03/25 16:33:37
    Names: »MakeResult«

Derivation

└─⟦50656ff4a⟧ Bits:30010538 TX 3.1 Coldstart
    └─⟦bbf173f5c⟧ »0004« 
        └─⟦this⟧ »./etc/MakeResult« 

TextFile

#!/bin/sh -e
#
#	@(#)MakeResult	13.4 (RC International) 91/03/25 16:33:37
#

prog=`basename $0`
pu=`puname`

mkresult=/etc/mkresult
hfile=result.h
cfile=result.c

vers=
errdefs=
files=
errfiles=
nerrfiles=
tmpvers=/$pu/tmp/vers$$
sedscript=/$pu/tmp/sed$$

trap 'rm -f $nerrfiles $tmpvers $sedscript $cfile $hfile; exit 1' 0 1 2 15

while [ $# -gt 0 ]
do
    case $1
    in
    -c)	shift; cfile=$1 ;;
    -d) shift; errdefs=$1 ;;
    -h)	shift; hfile=$1 ;;
    -m) shift; mkresult=$1 ;;
    -v) shift; vers=$1 ;;
    -*)	echo 2>&1 $prog: unrecognized flag $1
	exit 1 ;;
    *)  files="$files $1"
	if [ ! -f $1 ]
	then
	    echo 2>&1 $1: no such file [$prog]
	    exit 1
	fi ;;
    esac
    shift
done

if [ "$files" = "" ]
then
    echo MakeResult: empty .doc or .err file list
    exit 1
fi

> $sedscript
if [ -n "$errdefs" -a -r "$errdefs" ]; then
	sed < $errdefs '
		/^#/d
		/^$/d
		s?\(\<.*\>\)		*\(.*\)?s/\1/\2/g?
	' >> $sedscript
fi
cat << EOF >> $sedscript
/^\./d
/^	/d
s/^unused/info/
/^\/\*/p
/^subsys/p
/^ret/p
/^info/p
/^warn/p
/^severe/p
/^fatal/p
EOF

if [ -n "$vers" -a -w "$vers" ]; then
    echo 0 `cat $vers` 1 + p | dc > $tmpvers
    cp $tmpvers $vers
    version="version `cat $vers`"
    rm -f $tmpvers
else
    version=""
fi

for file in $files
do
    err=`echo $file | sed -e "s/\.doc/\.err/"`
    errfiles="$errfiles $err"

    if [ $file != $err ]
    then
	rm -f $err
	nerrfiles="$nerrfiles $err"
	sed -n -f $sedscript < $file > $err
    fi
done
rm -f $sedscript $cfile $hfile

date=`date | sed -e 's%... %%' -e 's% ..:..:.. .*\( ....\)$%\1%'`
xx=`basename $hfile`

cat << EOF							>  $hfile
/*	@(#)$xx	$version (RC International) $date	*/

#ifndef ERR
#define ERR(x, y)	((int) x)
#define ERR_RPU		0x08000000
#define ERR_INFO	0x00000000
#define ERR_WARN	0x20000000
#define ERR_SEVERE	0x40000000
#define ERR_FATAL	0x60000000
#endif ERR

#ifndef	__RESULT__
#define	__RESULT__

typedef enum result
{
EOF

awk 'BEGIN { printf "    %-31.31s=0x0%07x,\n", "MAKERESULT_OK", 0; }
/^\/\*.*\*\/$/ { print }
/^subsys/ { count=$3 * 65536;
	    printf "/*  %s: subsystem %s class 0x%x */\n", FILENAME, $2, $3; }
/^ret/	  { printf "    %-31.31s=0x0%07x,\n", $2, count++; }
/^info/	  { printf "    %-31.31s=0x0%07x,\n", $2, count++; }
/^warn/	  { printf "    %-31.31s=0x2%07x,\n", $2, count++; }
/^severe/ { printf "    %-31.31s=0x4%07x,\n", $2, count++; }
/^fatal/  { printf "    %-31.31s=0x6%07x,\n", $2, count++; }
' $errfiles							>> $hfile

cat << EOF							>> $hfile
} result_t;

#endif	__RESULT__
EOF

xx=`basename $cfile`

cat << EOF							>  $cfile
/*	@(#)$xx	$version (RC International) $date	*/

EOF

$mkresult $errfiles					>> $cfile

trap 0 1 2 15
exit 0