#!/bin/sh
# Set initial variables:
CWD=`pwd`
if [ "$TMP" = "" ]; then
  TMP=/tmp
fi
PKG=$TMP/package-flex

if [ ! -d $TMP ]; then
  mkdir -p $TMP # location to build the source
fi
if [ ! -d $PKG ]; then
  mkdir -p $PKG # place for the package to be built
fi

# Explode the package framework:
cd $PKG
explodepkg $CWD/_flex.tar.gz

echo "+=============+"
echo "| flex-2.5.4a |"
echo "+=============+"
cd $TMP
tar xzvf $CWD/flex-2.5.4a.tar.gz
cd flex-2.5.4
mkdir -p $PKG/usr/doc/flex-2.5.4a
cp -a INSTALL NEWS README $PKG/usr/doc/flex-2.5.4a
mkdir -p $PKG/usr/doc/flex-2.5.4a/MISC
cd MISC
cp -a EBCDIC README alloca.c debflex.awk parse.c parse.h \
  testxxLexer.l $PKG/usr/doc/flex-2.5.4a/MISC
cp -a fastwc $PKG/usr/doc/flex-2.5.4a/MISC
chown -R root.root $PKG/usr/doc/flex-2.5.4a
cd ..
./configure --prefix=/usr
make CFLAGS=-O2 LDFLAGS=-s
cat flex > $PKG/usr/bin/flex
cat FlexLexer.h > $PKG/usr/include/FlexLexer.h
cat libfl.a > $PKG/usr/lib/libfl.a
cat flex.1 | gzip -9c > $PKG/usr/man/man1/flex.1.gz
cd MISC/texinfo
makeinfo flex.texi
mkdir -p $PKG/usr/info
cat flex.info | gzip -9c > $PKG/usr/info/flex.info.gz
cat flex.info-1 | gzip -9c > $PKG/usr/info/flex.info-1.gz
cat flex.info-2 | gzip -9c > $PKG/usr/info/flex.info-2.gz
cat flex.info-3 | gzip -9c > $PKG/usr/info/flex.info-3.gz
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

# Build the package:
cd $PKG
makepkg -l y -c n $TMP/flex-2.5.4a-i386-1.tgz

# Clean up the extra stuff:
if [ "$1" = "--cleanup" ]; then
  rm -rf $TMP/flex-2.5.4
  rm -rf $PKG
fi
