#!/bin/sh


# Parse commandline

TARGET=$1

if [ "$TARGET" = "" ]; then
		echo "Usage: $0 <target>"
		exit
fi


# Get some data on the package we are about to craete

TOOLCHAIN_VERSION=`dpkg -s toolchain-source | grep Version: | sed -e 's/Version: //'`
GCC_VERSION=`ls -l /usr/src/toolchain/gcc.tar.bz2 | sed -e 's/^.* -> gcc-\(.*\).tar.bz2$/\1/'`
BINUTILS_VERSION=`ls -l /usr/src/toolchain/binutils.tar.bz2 | sed -e 's/^.* -> binutils-\(.*\).tar.bz2$/\1/'`
DATE=`822-date`

USERNAME=`awk -F: -vUSER=$USER '$1 == USER { print $5; }' /etc/passwd`

if [ "$USERNAME" = "" -a -x /usr/bin/ypmatch ]; then
        # Give NIS a try
        USERNAME=`ypmatch $USER passwd.byname|awk -F: '{ print $5; }'`
fi

if echo $USERNAME | grep -q "\,"; then
        X=`expr index "$USERNAME" ","`
        X=`expr $X - 1`
        USERNAME=`expr substr "$USERNAME" 1 $X`
fi

if [ "$EMAIL" = "" ]; then
        EMAIL="$USER@`cat /etc/mailname`"
fi

echo
echo "Target                    : $TARGET"
echo "Maintainer                : $USERNAME"
echo "Email-Address             : $EMAIL"
echo "Toolchain                 : $TOOLCHAIN_VERSION"
echo "  binutils                : $BINUTILS_VERSION"
echo "  gcc                     : $GCC_VERSION"

DEFS="-D '__TARGET__=$TARGET' -D '__MAINTAINER__=$USERNAME <$EMAIL>' -D '__TOOLCHAIN_VERSION__=$TOOLCHAIN_VERSION' -D '__BINUTILS_VERSION__=$BINUTILS_VERSION-1' -D '__GCC_VERSION__=$GCC_VERSION-1' -D '__DATE__=$DATE'"


# Unpack template

tar xzf /usr/src/toolchain/template.tgz

BINUTILS_DIR=binutils-$TARGET-$BINUTILS_VERSION
mv binutils-TARGET $BINUTILS_DIR

GCC_DIR=gcc-$TARGET-$GCC_VERSION
mv gcc-TARGET $GCC_DIR


# Run m4 macros

for i in `find $BINUTILS_DIR $GCC_DIR -name \*.m4`; do
		o=`echo $i | sed -e 's/\.m4//'`
		sh -c "m4 $DEFS < $i > $o"
		rm $i
done

chmod +x $BINUTILS_DIR/debian/rules
chmod +x $GCC_DIR/debian/rules


# All done

echo
echo "Created in $BINUTILS_DIR and $GCC_DIR"
echo

