#!/bin/sh
if [ $# != 2 ]
then if [ $# != 3 ]
     then echo "USAGE: $(basename $0) [-O] <input_file> <output_file>";
          exit 1;
     elif [ $1 != "-O" ]
     then echo "USAGE: $(basename $0) [-O] <input file> <output_file>";
          exit 1;
     fi
fi

FLEXOPTS=""
FILE1=$1;
FILE2=$2;

if [ $# = 2 ]
then if [ ! -e $1 ] 
     then echo "ERROR: '$1' file not found";
          exit 1;
     fi 
fi

if [ $# = 3 ]
then if [ ! -e $2 ]
     then echo "ERROR: '$2' file not found";
          exit 1;
     fi
     FLEXOPTS="-Cfer";
     FILE1=$2;
     FILE2=$3;
fi
/bin/xmllint --dtdvalid /usr/share/apertium/format.dtd --noout $FILE1 && \
/bin/xsltproc /usr/share/apertium/reformat.xsl $FILE1 >/tmp/$$.reformat.l && \
/bin/flex $FLEXOPTS -o/tmp/$$.lex.cc /tmp/$$.reformat.l && \
g++ -DGENFORMAT -Wall -ansi -O3 -mtune=nocona                   -fomit-frame-pointer -funroll-loops -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -w -I/usr/include/lttoolbox-3.3 -I/usr/lib64/lttoolbox-3.3/include -I/usr/include/libxml2   -I /usr/include/apertium-3.3 -o $FILE2 /tmp/$$.lex.cc -llttoolbox3 -lxml2 -lpcre   2>/dev/null &&\
rm /tmp/$$.reformat.l /tmp/$$.lex.cc
