# .Sanitize for devo/ld.

# Each directory to survive its way into a release will need a file
# like this one called "./.Sanitize".  All keyword lines must exist,
# and must exist in the order specified by this file.  Each directory
# in the tree will be processed, top down, in the following order.

# Hash started lines like this one are comments and will be deleted
# before anything else is done.  Blank lines will also be squashed
# out.

# The lines between the "Do-first:" line and the "Things-to-keep:"
# line are executed as a /bin/sh shell script before anything else is
# done in this directory.

Do-first:

mpw_files="mpw-make.in mpw-config.in mpw-em.c ChangeLog.mpw"

if ( echo $* | grep keep\-mpw > /dev/null ) ; then
	keep_these_too="${mpw_files} ${keep_these_too}"
else
	lose_these_too="${mpw_files} ${lose_these_too}"
fi

# All files listed between the "Things-to-keep:" line and the
# "Files-to-sed:" line will be kept.  All other files will be removed.
# Directories listed in this section will have their own Sanitize
# called.  Directories not listed will be removed in their entirety
# with rm -rf.

Things-to-keep:

ChangeLog
Makefile.in
NEWS
README
TODO
config
config.h
configure.bat
configure.in
dep-in.sed
emulparams
emultempl
genscripts.sh
h8-doc.texi
ld.1
gen-doc.texi
ld.h
ld.texinfo
ldctor.c
ldctor.h
ldemul.c
ldemul.h
ldexp.c
ldexp.h
ldfile.c
ldfile.h
ldgram.y
ldint.texinfo
ldlang.c
ldlang.h
ldlex.h
ldlex.l
ldmain.c
ldmain.h
ldmisc.c
ldmisc.h
ldver.c
ldver.h
ldwrite.c
ldwrite.h
lexsup.c
mri.c
mri.h
scripttempl
testsuite

Things-to-lose:

Do-last:

echo Looking for traces of \"mpw\"...

# Don't try to clean directories here, as the 'mv' command will fail.
# Also, grep fails on NFS mounted directories.
if ( echo $* | grep keep\-mpw > /dev/null ) ; then
	for i in * ; do
		if test ! -d $i && (grep sanitize-mpw $i > /dev/null) ; then
			echo Keeping mpw traces in $i
		fi
	done
else
	for i in * ; do
		if test ! -d $i && (grep sanitize-mpw $i > /dev/null) ; then
			echo Removing traces of \"mpw\" out of $i...
			cp $i new
			sed '/start\-sanitize\-mpw/,/end-\sanitize\-mpw/d' < $i > new
			if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
				echo Caching $i in .Recover...
				mv $i .Recover
			fi
			mv new $i
		fi
	done
fi

rce_files="configure.in Makefile.in"

if ( echo $* | grep keep\-rce > /dev/null ) ; then
	for i in $rce_files ; do
		if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping rce stuff in $i
			fi
		fi
	done
else
	for i in $rce_files ; do
		if test ! -d $i && (grep sanitize-rce $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"rce\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-rce/,/end-\sanitize\-rce/d' < $i > new
			if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
				if [ -n "${verbose}" ] ; then
					echo Caching $i in .Recover...
				fi
				mv $i .Recover
			fi
			mv new $i
		fi
	done
fi

arc_files="ChangeLog configure.in Makefile.in"

if ( echo $* | grep keep\-arc > /dev/null ) ; then
	for i in $arc_files ; do
		if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Keeping arc stuff in $i
			fi
		fi
	done
else
	for i in $arc_files ; do
		if test ! -d $i && (grep sanitize-arc $i > /dev/null) ; then
			if [ -n "${verbose}" ] ; then
				echo Removing traces of \"arc\" from $i...
			fi
			cp $i new
			sed '/start\-sanitize\-arc/,/end-\sanitize\-arc/d' < $i > new
			if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
				if [ -n "${verbose}" ] ; then
					echo Caching $i in .Recover...
				fi
				mv $i .Recover
			fi
			mv new $i
		fi
	done
fi

for i in * ; do
	if test ! -d $i && (grep sanitize $i > /dev/null) ; then
		echo '***' Some mentions of Sanitize are still left in $i! 1>&2
	fi
done

#
# End of file.