#! /bin/sh

IFS="	"

>$1~

echo

JOB=":"

while read LINE
do
	ELINE=`eval echo $LINE`

	if [ "$LINE" = "." ]
	then
		JOB="."
		echo $LINE >>$1~
	elif [ "$LINE" = ":" ]
	then
		JOB=":"
		echo $LINE >>$1~
	elif [ "$LINE" = "+" ]
	then
		JOB="+"
		echo $LINE >>$1~
	elif [ "$JOB" != ":" ]
	then
		read VAR DEF || break

		EDEF=`eval echo $DEF`
		if [ "$JOB" != "+" ]
		then
			echo -n "$ELINE [$VAR:$EDEF] "
			read KEY </dev/tty
			if [ "$KEY" != "" ]
			then
				EDEF=$KEY
			fi
			if [ "x$KEY" = "x-" ]
			then
				EDEF=""
			fi
		else
			echo "$ELINE [$VAR:$EDEF] as default"
		fi
		CMD="$VAR=\"$EDEF\""
		eval $CMD

		echo "# $ELINE" >>.config.make
		echo "$VAR=$EDEF" >>.config.make

		echo "/* $ELINE */" >>.config.h
		if [ "$EDEF" != "" ]
		then
		echo "#define $VAR \"$EDEF\"" >>.config.h
		fi

		echo "$VAR=\"$EDEF\"" >>.config.sh

		echo $ELINE >>$1~
		echo "$VAR	$EDEF" >>$1~
	else
		echo $ELINE

		if [ "$ELINE" != "" ]
		then
			echo "/* $ELINE */" >>.config.h
			echo "# $ELINE" >>.config.make
		else
			echo >>.config.h
			echo >>.config.make
		fi

		echo $ELINE >>$1~
	fi

done <$1

mv $1~ $1
