#!/bin/sh

PROGNAME=`basename $0`

if [ $# -gt 1 ]; then
  echo Usage: $PROGNAME [RealXSRCDir]
  echo where: RealXSRCDir is the path to the actual DQS XSRC directory
  echo "         (not usually given -- this is a hack for build-dqsx)"
  exit 1
fi

ARCHITECTUREDIR=`pwd`
ARCHITECTURE=`basename $ARCHITECTUREDIR`
XSRC=$ARCHITECTUREDIR/..

if [ $# -gt 0 ]; then
  XSRC=$1
fi

DQSUTIL=$XSRC/../UTIL
XSRCUTIL=$XSRC/Util
SUBDIRS="Xaw3d qmon qusage qidle xinfo qusage/At qusage/klib qusage/list-2.1"

if [ ! -r $XSRC/../ARCS/$ARCHITECTURE/dqs.a ]; then
  echo $PROGNAME: Cannot locate library named $XSRC/../ARCS/$ARCHITECTURE/dqs.a
  echo $PROGNAME: Build the DQS distribution before the DQS X distribution.
  exit 3
fi

cat $ARCHITECTUREDIR/config $XSRC/Imakefile > Imakefile
# Adjust the top-level Imakefile if Xaw3d isn't to be built
if grep '^BUILD_XAW3D.*True' $ARCHITECTUREDIR/config > /dev/null; then
  /bin/true
else
  sed 's/.*SUBDIRS = Xaw3d xinfo qmon qusage qidle/SUBDIRS = xinfo qmon qusage qidle/g' \
    < Imakefile > Imakefile.tmp
  mv -f Imakefile.tmp Imakefile
fi

for subdir in $SUBDIRS
do
  mkdir $ARCHITECTUREDIR/$subdir
  if [ $subdir = "qusage/At" ]; then
    # special case
    ( cd $ARCHITECTUREDIR/$subdir; \
      cat $ARCHITECTUREDIR/config $XSRC/qusage/plotter-6.0pl7/At/Imakefile \
           > Imakefile; \
      mkdir X11; cd X11; ln -s ../../../../qusage/plotter-6.0pl7/At At )
  else
    # generic case
    ( cd $ARCHITECTUREDIR/$subdir; \
       cat $ARCHITECTUREDIR/config $XSRC/$subdir/Imakefile > Imakefile )
  fi
done

cd $ARCHITECTUREDIR
xmkmf

if [ "$ARCHITECTURE" = "mips-dec-ultrix4.2" ] \
   || [ "$ARCHITECTURE" = "mips-sgi-irix4.0.5" ] \
   || [ "$ARCHITECTURE" = "mips-sgi-irix4.0.5H" ]; then
  ${XSRCUTIL}/cleanmkfiles $ARCHITECTURE

  for subdir in $SUBDIRS
  do
    ( cd $subdir; xmkmf )
  done

  ${XSRCUTIL}/cleanmkfiles $ARCHITECTURE
else
  echo "make Makefiles" &&
  make Makefiles
fi

echo "make includes" &&
make includes &&
echo "make depend" &&
make depend

make

exit 0
