#!/bin/sh
AWK=awk
SED=sed
DEFAULT_GPP_INCLUDE="/usr/local/lib/g++-include"

(echo "12345\c" ; echo " ") > echotmp
if grep c echotmp > /dev/null 2>&1 ; then
	n='-n'
	c=''
else
	n=''
	c='\c'
fi
rm echotmp

case "`(uname -sr)2>/dev/null`" in
	"SunOS 4"*)
		OS="SunOS_4"
		;;
	"SunOS 5"*)
		OS="SunOS_5"
		;;
	"IRIX"*)
		OS="IRIX"
		;;
	"OSF1"*)
		OS="OSF1"
		;;
	"Linux"*)
		OS="Linux"
		;;
	"FreeBSD"*)
		OS="default"
		;;
	"HP-UX"*)
		OS="default"
		;;
	*)
		OS=`awk '{print $1}' /etc/motd`
		case $OS in
			"NEWS-OS"*)
				OS="NEWS"
				;;
			*)
				OS="default"
				;;
		esac
		;;
esac

X11R=6
echo	"Do you use X11R6.x? [y or n]"
echo $n "  [default=y]:$c"
read INPUT
if [ "$INPUT" != "y" ] ; then
	if [ "$INPUT" != "" ] ; then
		X11R=5
	fi
fi

rm -rf conftestdir
if mkdir conftestdir; then
	cd conftestdir
	cat > Imakefile <<'EOF'
acfindx:
	@echo 'incroot="${INCROOT}"; usrlibdir="${USRLIBDIR}"; libdir="${LIBDIR}"'
EOF
	if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
		eval `make acfindx 2>/dev/null | grep -v make`
		for extension in a so sl; do
			if test ! -f $usrlibdir/libX11.$extension &&
				test -f $libdir/libX11.$extension; then
					usrlibdir=$libdir; break
			fi
		done
		case "$ac_im_incroot" in /usr/include) ;;
			*) test -f "$incroot/X11/Xos.h" ;;
		esac
		case "$ac_im_usrlibdir" in /usr/lib | /lib) ;;
			*) test -d "$ac_im_usrlibdir" ;;
		esac
	fi
  cd ..
  rm -fr conftestdir
fi

DEFAULT_X11_INCLUDE="$incroot"
DEFAULT_X11_LIBRARY="$usrlibdir"

X11_INCLUDE=""
while [ "$X11_INCLUDE" = "" ]
do
	echo	"Enter X11R${X11R} includes directory."
	echo $n "  [default=$DEFAULT_X11_INCLUDE]:$c"
	read INPUT
	if [ "$INPUT" = "" ] ; then
		INPUT=$DEFAULT_X11_INCLUDE
	fi
	if [ -d "$INPUT" ] ; then
		X11_INCLUDE="$INPUT"
	else
		echo ""
		echo "\"$INPUT\" not found."
		echo ""
	fi
done

X11_LIBRARY=""
while [ "$X11_LIBRARY" = "" ]
do
	echo	"Enter X11R${X11R} libraries directory."
	echo $n "  [default=$DEFAULT_X11_LIBRARY]:$c"
	read INPUT
	if [ "$INPUT" = "" ] ; then
		INPUT=$DEFAULT_X11_LIBRARY
	fi
	if [ -d "$INPUT" ] ; then
		X11_LIBRARY="$INPUT"
	else
		echo ""
		echo "\"$INPUT\" not found."
		echo ""
	fi
done

GPP_LIBRARY=""
path=`echo $PATH | sed -e "s/:/ /g" -e "s/\/bin/\/lib/g"`
for i in $path ; do
        if test -f $i/libstdc++.so ; then
		GPP_LIBRARY=$i ; break
	fi
	if test -f $i/libg++.so ; then
		GPP_LIBRARY=$i ; break
	fi
done

if [ "$GPP_LIBRARY" != "" ] ; then
	RUNPATH1="-R$GPP_LIBRARY"
	RUNPATH2="-R$GPP_LIBRARY:$X11_LIBRARY"
else
	RUNPATH1=""
	RUNPATH2="-R$X11_LIBRARY"
fi

LINK=Dynamic
echo	"Do you use dynamic linking? [y or n]"
echo $n "  [default=y]:$c"
read INPUT
if [ "$INPUT" != "y" ] ; then
	if [ "$INPUT" != "" ] ; then
		LINK=Static
		RUNPATH1=""
		RUNPATH2=""
	fi
fi

CFLAGS="-O2 -pipe"
echo    "Enter compiler flag(s)."
echo $n "  [default=$CFLAGS]:$c"
read INPUT
temp=`echo $INPUT | $AWK '{print $1}'`
if [ "$temp" != "" ] ; then
	CFLAGS="$INPUT"
fi

echo
echo "Configuration Summary:" 
echo "  OS type = $OS"
echo "  X11 revision = $X11R"
echo "  X11 include PATH = $X11_INCLUDE"
echo "  X11 libraries PATH = $X11_LIBRARY"
if [ $OS = SunOS_5 ] ; then
	echo "  RUNPATH = $RUNPATH2"
fi
echo "  Link style = $LINK"
echo "  Compiler flag(s) = $CFLAGS"
echo 

echo $n "Creating Makefile...$c"

#for wdir in server monitor sampleclient recfile_change logplayer drawcheck ; do ( 
if [ -f Makefile ] ; then
	mv Makefile Makefile.bak
fi
$SED \
	-e "s&___OS_TYPE___&$OS&" \
	-e "s&___X11R___&X11R$X11R&"\
	-e "s&___LINK_STYLE___&$LINK&"\
	-e "s&___C_FLAGS___&$CFLAGS&" \
	-e "s&(XINC_PATH)&$X11_INCLUDE&" \
	-e "s&(XLIB_PATH)&$X11_LIBRARY&" \
	-e "s&(RUNPATH1)&$RUNPATH1&" \
	-e "s&(RUNPATH2)&$RUNPATH2&" \
	Makefile.tmpl > Makefile



echo "Done."
