#!/bin/sh

# This script is part of Bakefile (http://bakefile.sourceforge.net) autoconf
# script. It is used to generated precompiled headers.
#
# Permission is given to use this file in any way.

outfile="${1}"
header="${2}"
shift
shift

compiler=
headerfile=
while test ${#} -gt 0; do
    case "${1}" in
        -I* )
            incdir=`echo ${1} | sed -e 's/-I\(.*\)/\1/g'`
            if test "x${headerfile}" = "x" -a -f "${incdir}/${header}" ; then
                headerfile="${incdir}/${header}"
            fi
        ;;
    esac
    compiler="${compiler} ${1}"
    shift
done

if test "x${headerfile}" = "x" ; then
    echo "error: can't find header ${header} in include paths" >2
else
    if test -f ${outfile} ; then
        rm -f ${outfile}
    else
        mkdir -p `dirname ${outfile}`
    fi
    depsfile=".deps/`echo ${outfile} | tr '/.' '__'`.d"
    mkdir -p .deps
    # can do this because gcc is >= 3.4:
    ${compiler} -o ${outfile} -MMD -MF "${depsfile}" "${headerfile}"
    exit ${?}
fi
