#!/bin/bash

# CFLAGS etc. 
CFLAGS="-DHAVE_CONFIG_H  -I. -I.. -I../.. -I../..  -s -O2"
LDFLAGS=
CC=gcc

# compile e-upTeX
EUPTEX=1

# DO NOT EDIT THIS LINE
FAM256=0

#-------------------------

EPVER=`echo ../eptex-[0-9]*`

cd ..

if test "$FAM256" = "1"; then
  cat texmfmem.h|sed "s/#if\ \!defined(Omega)/#if\ \!defined(Omega)\ \&\&\ \!defined(TeX)/" > texmfmem2.h
  mv texmfmem.h texmfmem.h.orig
  mv texmfmem2.h texmfmem.h
fi


cp -r ptex eptexdir

cd eptexdir

if test "$FAM256" = "1"; then
  cat <<EOF >> ptexextra.c
  integer curval1;
EOF
cat <<EOF >> kanji.defines
  @define function getintone();
  @define procedure setintone();
EOF
fi

cp ../etexdir/etex.ch .
patch -p0 < $EPVER/etex.diff
patch -p0 -f < $EPVER/ep1.diff
patch -p0 < $EPVER/pconvert.diff
if test "$FAM256" = "1"; then
  ../tie -m eptex.web ptex.web ptex.ch etex.ch \
      $EPVER/etex-sysdep.ch $EPVER/fp.ch $EPVER/fam256.ch 
else
  ../tie -m eptex.web ptex.web ptex.ch etex.ch \
      $EPVER/etex-sysdep.ch $EPVER/fp.ch
fi
../tangle eptex
./pconvert eptex

if test "$FAM256" = "1"; then
  cat <<EOF >> texd.h
#define getintone(w) (w).cint1
#define setintone(w,a) ((w).cint1=a)
EOF
fi

$CC $LDFLAGS $CFLAGS -o eptex texini.c tex0.c tex1.c tex2.c tex3.c \
    ptexextra.c kanji.c version.c usage.c  ../lib/lib.a plib.a \
    ../../kpathsea/.libs/libkpathsea.a -lm ../../ptexenc/.libs/libptexenc.a

cd $EPVER

if test "$EUPTEX" = "1"; then
  cd ..
  cp -r uptexdir/ euptex
  cd euptex
  if test "$FAM256" = "1"; then
    cat <<EOF >> ptexextra.c
  integer curval1;
EOF
  cat <<EOF >> kanji.defines
  @define function getintone();
  @define procedure setintone();
EOF
  fi
  patch -p1 < $EPVER/up1.diff
  cp ../etexdir/etex.ch .
  cp $EPVER/fam256.ch .
  patch -p0 < $EPVER/etex.diff
  patch -p0 < $EPVER/uptex.diff 
  patch -p0 < $EPVER/up2.diff 
  if test "$FAM256" = "1"; then
    ../tie -m euptex.web uptex.web uptex.ch etex.ch \
        $EPVER/etex-sysdep.ch $EPVER/fp.ch fam256.ch 
  else
    ../tie -m euptex.web uptex.web uptex.ch etex.ch \
        $EPVER/etex-sysdep.ch $EPVER/fp.ch
  fi
  ../tangle euptex
  ./pconvert euptex
  if test "$FAM256" = "1"; then
    cat <<EOF >> texd.h
#define getintone(w) (w).cint1
#define setintone(w,a) ((w).cint1=a)
EOF
fi
  $CC $LDFLAGS $CFLAGS -o euptex texini.c tex0.c tex1.c tex2.c tex3.c \
       ptexextra.c kanji.c version.c usage.c  ../lib/lib.a plib.a \
       ../../ptexenc/.libs/libptexenc.a ../../kpathsea/.libs/libkpathsea.a -lm
  
  cd $EPVER
fi

  echo " " 
  ls -l ../eptexdir/eptex ../euptex/euptex

if test "$FAM256" = "1"; then
  cd ..
  mv texmfmem.h.orig texmfmem.h
  cd $EPVER
fi
