#!/bin/sh

# This script is used to generate the files Makefile.add
# in directories gui/djview and gui/nsdejavu.
# It should be used via command "make makeadd" in these
# same directories.

srcdir=
top_srcdir=

objs=
dirs=
mocs=

echo "# This is generated automatically using \"make makeadd\"".
echo "# DO NOT EDIT BY HAND"
echo "# --------------------------------------------------------"

for src
do
    dir=`dirname $src`
    
    xdir=`echo $dir/ | awk  'BEGIN { s1="'$srcdir'/" ; s2="'$top_srcdir'/" 
                                    l1=length(s1) ; l2=length(s2) }
                            { if ( l1 > 0 && substr($0,1,l1) == s1 )
                                printf("${srcdir}/%s\n",substr($0,l1+1)); 
                              else if ( l2 > 0 && substr($0,1,l2) == s2 )
                                printf("${top_srcdir}/%s\n",substr($0,l2+1)); 
                              else
                                printf("%s\n",$0); } '`

    case $src in
        --srcdir=*)
                srcdir=`echo $src | sed -e 's/^.*=//'`
                ;;

        --top_srcdir=*)
                top_srcdir=`echo $src | sed -e 's/^.*=//'`
                ;;
        *.cin)
                base=`basename $src .cin`
                echo "$base.o : $base.cpp"
                echo "	\${CXX} \${CXXFLAGS} -c $base.cpp"
                echo "$base.cpp : ${xdir}$base.cin"
                echo "	\${BIN2CPP} $base < ${xdir}$base.cin > $base.cpp"
                objs="$objs $base.o"
                ;;
        *.c)
                base=`basename $src .c`
                objs="$objs $base.o"
                dirs="$dirs $xdir"
                echo "${base}.o : ${xdir}$base.c"
                echo "	\${CC} \${CXXFLAGS} -c ${xdir}$base.c"
                ;;
        *.cpp)
                base=`basename $src .cpp`
                objs="$objs $base.o"
                dirs="$dirs $xdir"
                echo "${base}.o : ${xdir}$base.cpp"
                echo "	\${CXX} \${CXXFLAGS} -c ${xdir}$base.cpp"

                if grep -q Q_OBJECT $dir/$base.cpp 
                then
                  echo "${base}_moc.inc : ${xdir}$base.cpp"
                  echo "	\${MOC} ${xdir}$base.cpp -o ${base}_moc.inc"
                  mocs="$mocs ${base}_moc.inc"
                fi

                if test -r $dir/$base.h && grep -q Q_OBJECT $dir/$base.h 
                then
                  echo "${base}_moc.o : ${base}_moc.cpp"
                  echo "	\${CXX} \${CXXFLAGS} -c ${base}_moc.cpp"
                  echo "${base}_moc.cpp : ${xdir}$base.h"
                  echo "	\${MOC} ${xdir}$base.h -o ${base}_moc.cpp"
                  objs="$objs ${base}_moc.o"
                fi
                ;;
    esac
done

echo ""
echo ""
srcincs="`( for n in $dirs ; do echo $n ; done ) | sort | uniq`"

echo "SRCINCS = \\"
for n in $srcincs ; do echo " -I$n \\" ; done
echo ""
echo ""

echo "OBJS = \\"
for n in $objs ; do echo " $n \\" ; done
echo ""
echo ""

echo "MOCINCS = \\"
for n in $mocs ; do echo " $n \\" ; done
echo ""
echo ""


