#!/bin/sh
#
#
AWK=awk
DIR="${DIR-/usr/share/et}"
ET_DIR="/var/abs/base/e2fsprogs/src/e2fsprogs-1.39/lib/et"

if test "$1" = "--build-tree" ; then
    shift;
    DIR="$ET_DIR"
fi

if test "x$1" = x ; then
    echo "Usage: compile_et file"
    exit 1
fi

if test ! -f "$DIR/et_h.awk" || test ! -f "$DIR/et_c.awk" ; then
    DIR="$ET_DIR"
#    echo "Falling back to $DIR..."
    if test ! -f "$DIR/et_h.awk" || test ! -f "$DIR/et_c.awk" ; then
	echo "compile_et: Couldn't find compile_et's template files."
	exit 1
    fi
fi

ROOT=`echo $1 | sed -e s/.et$//`
BASE=`basename $ROOT`

if test ! -f "$ROOT.et" ; then
    echo "compile_et: $ROOT.et: File not found"
    exit 1;
fi

$AWK -f "${DIR}/et_h.awk" "outfile=${BASE}.h.$$" "outfn=${BASE}.h" "$ROOT.et"
if test -f ${BASE}.h && cmp -s ${BASE}.h.$$ ${BASE}.h ; then
    rm ${BASE}.h.$$
else
    mv ${BASE}.h.$$ ${BASE}.h
fi
$AWK -f "${DIR}/et_c.awk" "outfile=${BASE}.c.$$" "outfn=${BASE}.c" "$ROOT.et"
if test -f ${BASE}.c && cmp -s ${BASE}.c.$$ ${BASE}.c ; then
    rm ${BASE}.c.$$
else
    mv ${BASE}.c.$$ ${BASE}.c
fi
