#! /bin/bash
#
# Configure
#
# ***************************************************************************
# * Ralink Tech Inc.
# * 4F, No. 2 Technology 5th Rd.
# * Science-based Industrial Park
# * Hsin-chu, Taiwan, R.O.C.
# *
# * (c) Copyright 2002, Ralink Technology, Inc.
# *
#

ECHO="/bin/echo -e "
fail ()
{
	$ECHO ""
	$ECHO "Configuration failed"
	$ECHO ""
	exit 1
}


PROMPT=y

#=======================================================================

CONFIG=config.new
CONFIG_MK=config.mk
rm -f $CONFIG $CONFIG_MK 
cat << 'EOF' > $CONFIG
#
# Automatically generated by 'make config' -- don't edit!
#
EOF

write_str () {
    value=`eval $ECHO '$'$1`
    $ECHO "$1"=\"$value\" >> $CONFIG
    $ECHO "$1=$value" >> $CONFIG_MK
}


prompt () {
    eval $3=\"$2\"
    if [ "$PROMPT" = "y" ] ; then
	$ECHO "$1 [$2]: \c"
	read tmp
	if [ -n "$tmp" ] ; then eval $3=\"$tmp\" ; fi
    else
	$ECHO "$1 [$2]"
    fi
}

ask_str () {
    default=`eval $ECHO '$'$2`
    prompt "$1" "`$ECHO $default`" answer    
    eval $2=\"$answer\"
    
}


$ECHO ""
$ECHO ""
$ECHO "-------------------- Ralink RT2400 Configuration -------------------- "
$ECHO ""

CUR_RELEASE=`uname -r`

$ECHO ""


LINUX_KERNEL=/usr/src/linux-$CUR_RELEASE

ask_str "  Please specify kernel source directory" LINUX_KERNEL
if [  ! -d  $LINUX_KERNEL ] ; then
	$ECHO   "  directory not found"
    fail
fi

MODDIR=/lib/modules/$CUR_RELEASE
if [  -d $MODDIR/kernel/drivers/net ] ; then
	MODDIR=/lib/modules/$CUR_RELEASE/kernel/drivers/net
fi
ask_str "  Module install directory" MODDIR


$ECHO   "  Module install directory : $MODDIR"
$ECHO   "  cur_release = $CUR_RELEASE "
$ECHO   "   "
$ECHO   "   "
TARGET_MODDIR=$MODDIR
write_str TARGET_MODDIR


for TAG in VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION ; do
    eval `sed -ne "/^$TAG/s/[ 	]//gp" $LINUX_KERNEL/Makefile`
done


version () {
    expr $1 \* 65536 + $2 \* 256 + $3 
}

extraversion () {
    expr $1  
}

VERSION_CODE=`version $VERSION $PATCHLEVEL $SUBLEVEL`

if [ $VERSION_CODE   -lt `version 2 4 2 ` ] ; then
    echo "SORRY! We are not support on this platform [`uname` `uname -r`]"
    echo "       Only support red hat 7.1 and above  "
    fail 
elif [ $VERSION_CODE -ge `version 2 4 2` -a \
     $VERSION_CODE -lt `version 2 4 7` ] ; then
    echo " choose red hat 7.1"
    SOURCE_PLATFORM=rt2400_rh71
    KDE_PATH=/usr/share/applnk
    GNOME_PATH=/usr/share/gnome/apps
    RaConfig_Target=RaConfig.1
elif [ $VERSION_CODE -ge `version 2 4 7` -a \
     $VERSION_CODE -lt `version 2 4 18` ] ; then
    echo " choose red hat 7.2"
    SOURCE_PLATFORM=rt2400_rh72
    KDE_PATH=/usr/share/applnk
    GNOME_PATH=/usr/share/gnome/apps
    RaConfig_Target=RaConfig.1
elif [ $VERSION_CODE -ge `version 2 4 18` -a \
	"$CUR_RELEASE" = "2.4.18-3"  -a\
     $VERSION_CODE -lt `version 2 4 20` ] ; then
    echo " choose red hat 7.3"
    SOURCE_PLATFORM=rt2400_rh73
    KDE_PATH=/usr/share/applnk
    GNOME_PATH=/usr/share/gnome/apps
    RaConfig_Target=RaConfig.1
elif [ $VERSION_CODE -ge `version 2 4 18` -a \
     $VERSION_CODE -lt `version 2 4 20` ] ; then
    echo " choose red hat 8.0"
    SOURCE_PLATFORM=rt2400_rh80
    KDE_PATH=/usr/share/applnk-redhat
    GNOME_PATH=/usr/share/gnome/apps
    RaConfig_Target=RaConfig.1
elif [ $VERSION_CODE -ge `version 2 4 20` ] ; then
    echo " choose red hat 9.0"
    SOURCE_PLATFORM=rt2400_rh90   
    KDE_PATH=/usr/share/applnk-redhat
    GNOME_PATH=/usr/share/gnome/apps
    RaConfig_Target=RaConfig.2
fi

$ECHO   " source platform =$SOURCE_PLATFORM  "


write_str SOURCE_PLATFORM
write_str KDE_PATH
write_str GNOME_PATH
write_str RaConfig_Target

$ECHO ""
$ECHO "1)To install . Just run make install."
$ECHO ""
$ECHO "2)To reconfigure, run make config."
$ECHO ""
if [ -f ./script/setupui ]; then
	chmod a+x ./script/setupui
fi
if [ -f ./script/clearui ]; then
	chmod a+x ./script/clearui
fi

$ECHO ""
$ECHO "--------------------------------------------------------------------- "
$ECHO ""
