#!/bin/csh -f
#
#  LRI Makefile fixer - brings the old Ratler-style Makefiles into line with
#  the new Nomad-style GNUMakefiles from TCA.
#
#  Have to tackle each line separately, since /bin/ed will cancel all
#  updates if any one line fails.
#
# $Log: fix_make.csh,v $
# Revision 1.5  1997/05/24 22:16:35  jl
# Get TCA to compile in Nomad's sunOS environment.  Amazing that it worked
# for TCA folks, totally amazed.
#
# Revision 1.4  1997/05/20 16:31:08  jl
# Committing nomad changes to TCA makefiles that were somehow lost from CVS
#
# Revision 1.3  1997/05/14 23:16:32  jl
# Fixed some things that mwm and jl perceived to be GNUmakefile.defs mistakes.
#

##############################################################################
# Make a backup copy
##############################################################################

set num = 0
set nonomatch
set lastbak=`echo $1.bak* | awk '{print $NF}'`
unset nonomatch
if (x"$lastbak" !~ x*\*) then
	set num = `echo $lastbak | sed s/^.\*bak//`
endif
@ last = $num
@ num = $num + 1
cp -p $1 $1.bak$num
echo === Copied to $1.bak$num

##############################################################################
# Remove any unnecessary duplicates
##############################################################################

if ($num > 1) then
	cmp $1.bak$last $1.bak$num
	if ($status == 0) then
		rm $1.bak$num
	endif
endif

##############################################################################
# Fix INSTALL_DIR
# Assumes that INSTALL_DIR directory is a RELATIVE path
##############################################################################

egrep -s 'INSTALL_DIR[ 	]*:?=' $1 > /dev/null

if ($status == 0) then
	/bin/ed $1 <<END
1,\$s/INSTALL_DIR[ 	]*\\(:\{0,1\}\\)=[ 	]*\\(.*\\)[ 	]*\$/INSTALL_DIR	\\1= ..\\/..\\/\\2\
PROJECT_DIR	= \\2/
w
q
END
endif

##############################################################################
# Fix PUBLIC_BIN_DIR
##############################################################################

egrep -s 'PUBLIC_BIN_DIR[	 ]*=' $1 > /dev/null
if ($status == 0) then
	/bin/ed $1 <<END
1,\$s/PUBLIC_BIN_DIR[ 	]*\\(:\{0,1\}\\)=\\(.*bin\\)[/ 	]*\$/PUBLIC_BIN_DIR	\\1=\\2\\/\$(LRI_SYSNAME)/
w
q
END
endif

##############################################################################
# Fix PUBLIC_LIB_DIR
##############################################################################

egrep -s 'PUBLIC_LIB_DIR[	 ]*:?=' $1 > /dev/null
if ($status == 0) then
	/bin/ed $1 <<END
1,\$s/PUBLIC_LIB_DIR[ 	]*\\(:\{0,1\}\\)=\\(.*lib\\)[/ 	]*\$/PUBLIC_LIB_DIR	\\1=\\2\\/\$(LRI_SYSNAME)/
w
q
END
endif

##############################################################################
# Fix PUBLIC_LINT_DIR
##############################################################################

egrep -s 'PUBLIC_LINT_DIR[	 ]*:?=' $1 > /dev/null
if ($status == 0) then
	/bin/ed $1 <<END
1,\$s/PUBLIC_LINT_DIR[ 	]*\\(:\{0,1\}\\)=\\(.*lib\\)\\/lint[/ 	]*\$/PUBLIC_LINT_DIR	\\1=\\2\\/\$(LRI_SYSNAME)\\/lint/
w
q
END
endif

##############################################################################
# Fix TCL_INC_DIR
##############################################################################

egrep -s 'TCL_INC_DIR[ 	]*:?=' $1 > /dev/null
if ($status == 0) then
	/bin/ed $1 <<END
1,\$s/TCL_INC_DIR[ 	]*\\(:\{0,1\}\\)=.*\$/TCL_INC_DIR	\\1= \$(LRI_ROOT)\\/include/
w
q
END
endif


##############################################################################
# Fix TCL_LIB_DIR
##############################################################################

egrep -s 'TCL_LIB_DIR[ 	]*:?=' $1 > /dev/null
if ($status == 0) then
	/bin/ed $1 <<END
1,\$s/TCL_LIB_DIR[ 	]*\\(:\{0,1\}\\)=.*\$/TCL_LIB_DIR	\\1= \$(LRI_ROOT)\\/lib\\/\$(LRI_SYSNAME)/
w
q
END
endif

##############################################################################
# Fix TK_LIB_DIR
##############################################################################

egrep -s 'TK_LIB_DIR[ 	]*:?=' $1 > /dev/null
if ($status == 0) then
	/bin/ed $1 <<END
1,\$s/TK_LIB_DIR[ 	]*\\(:\{0,1\}\\)=.*\$/TK_LIB_DIR	\\1= \$(LRI_ROOT)\\/lib\\/\$(LRI_SYSNAME)/
w
q
END
endif


##############################################################################
# Fix CVS_BIN
##############################################################################

egrep -s 'CVS_BIN[ 	]*:?=' $1 > /dev/null
if ($status == 0) then
	/bin/ed $1 <<END
1,\$s/CVS_BIN[ 	]*\\(:\{0,1\}\\)=.*\$/CVS_BIN	\\1= \$(LRI_ROOT)\\/bin\\/\$(LRI_SYSNAME)/
w
q
END
endif

##############################################################################
# Fix CVSROOT  -- by deleting and relying on environment one
##############################################################################

egrep -s 'CVSROOT[ 	]*:?=' $1 > /dev/null
if ($status == 0) then
echo trying CVSROOT
	/bin/ed $1 <<END
1,\$s/CVSROOT[ 	]*:\{0,1\}=.*\$/# CVSROOT defined elsewhere /
w
q
END
endif

##############################################################################
# Fix STD_FILE
##############################################################################

egrep -s 'efile.std[	 ]*|' $1 > /dev/null
if ($status == 0) then
	/bin/ed $1 <<END
1,\$s/efile.std[ 	]*|/efile.std 2\\>\\/dev\\/null |/
w
q
END
endif

##############################################################################
# Fix DEFS_FILE
##############################################################################

egrep -s 'efile.defs[	 ]*|' $1 > /dev/null
if ($status == 0) then
	/bin/ed $1 <<END
1,\$s/efile.defs[ 	]*|/efile.defs 2\\>\\/dev\\/null |/
w
q
END
endif




