#!/bin/sh

if [ $# -ne 1 ]
then
	echo "usage: lgrep ( ['regular expression'] | [string] )"
fi

###examples:
#	avia% lgrep array 
#	avia% lgrep '.*rray.*'
#	avia% lgrep '^#in.*>'
#	avia% lgrep '^#in.*"'

######## change these to your directories
d1="$NEWLINKBASE/include/LINK"
d2="$NEWLINKBASE/src"
######## 

echo 

echo $1

cd $d1

for i in `ls`
do
	if [ -d $i ]
	then
		cd $i
		echo "-----------------"
		echo "$i"
		echo "-----------------"
		if ls *.h *.cc Make* 1>/dev/null 2>/dev/null
		then
			egrep $1 *.h *.cc Make* 2>/dev/null
		fi
		cd ..
	fi
done

cd $d2

echo "-----------------"
echo src/Make*
echo "-----------------"
egrep $1 *.cc Make*  2>/dev/null

for i in `ls`
do
	if [ -d $i ]
	then
		cd $i
		echo "-----------------"
		echo "$i"
		echo "-----------------"
		if ls *.cc *.y *.l Make* 1>/dev/null 2>/dev/null
		then
			egrep $1 *.cc *.y *.l Make*  2>/dev/null
		fi
                if ls linkTemplates/*.cc  1>/dev/null 2>/dev/null
		then
                        egrep $1 linkTemplates/_*.cc  2>/dev/null
		fi
                if ls STkTemplates/*.cc  1>/dev/null 2>/dev/null
		then
                        egrep $1 STkTemplates/_*.cc  2>/dev/null
		fi
                if ls autogenSTkMethods/*.cc  1>/dev/null 2>/dev/null
		then
                        egrep $1 autogenSTkMethods/_*.cc  2>/dev/null
		fi
                if ls manualSTkMethods/*.cc  1>/dev/null 2>/dev/null
		then
                        egrep $1 manualSTkMethods/_*.cc  2>/dev/null
		fi
                if ls manualSTkWrappers/*.cc  1>/dev/null 2>/dev/null
		then
                        egrep $1 manualSTkWrappers/*.cc  2>/dev/null
		fi
		cd ..
	fi
done
