:
# SCCSID: @(#)macrunch	3.0	4/22/86
#
######################################################################
#   Copyright (c) Digital Equipment Corporation 1984, 1985, 1986.    #
#   All Rights Reserved. 					     #
#   Reference "/usr/src/COPYRIGHT" for applicable restrictions.      #
######################################################################
#
#	macros crunch procedure
#
#  Based on:	@(#)macrunch	1.17	(System V)

move=n
roff=
pname=
name=
path=/usr


if [ $# -lt 1 ]
	then echo usage: macrunch [-m] [-d path] [{-n _o_r -t} "package name"] ".src name" 
	exit 1
fi

while [ $# -gt 0 ]
do
    case $1 in

	-m)	move=y;;
	-n)	roff=n; pname=$2; shift;;
	-t)	roff=t; pname=$2; shift;;
	-d)	path=$2; shift;;
	*)	name=$1;;

    esac
    shift
done

rm -f NOCOMPACT${name}

sed -e "3,\${
		/^''*\\\\\"/d
		s/	*\\\\\".*//
		s/@//g
		s/^\(['.]\)[ 	]*/\1/
		s/^\\([.'][a-z][a-z]\\)  */\\1/
		s/\\\\{[ 	]*/\\\\{/g
		s/<<name>>/${name}/g
	    } " \
	${name}.src | ./ntar -h "'''>S>" -t "'''>E>" -g  >  ${name}

if [ -r NOCOMPACT${name} ]
then
	if [ -n "${roff}" ]
	then
		mv NOCOMPACT${name} ucmp.${roff}.${pname}
		${path}/bin/${roff}roff -kTMP ${name} - <<!
.co
!
		mv d.TMP cmp.${roff}.d.${pname}
		mv t.TMP cmp.${roff}.t.${pname}
		cat ucmp.${roff}.${pname} >> ${name}
		if [ "$move" = "y" ]
		then
		    cp cmp.${roff}.[dt].${pname} ucmp.${roff}.${pname} ${path}/lib/macros
		    ( cd ${path}/lib/macros
			chmod 644 cmp.${roff}.[dt].${pname} ucmp.${roff}.${pname} )
		    if [ "${path}" = "/usr" ]
			then ( cd ${path}/lib/macros
			  chown bin cmp.${roff}.[dt].${pname} ucmp.${roff}.${pname}
			  chgrp bin cmp.${roff}.[dt].${pname} ucmp.${roff}.${pname} )
			else true
		    fi
		    rm -f cmp.${roff}.[dt].${pname} ucmp.${roff}.${pname}
		else true
		fi
	else
		cat NOCOMPACT${name} >> ${name}
		rm NOCOMPACT${name}
	fi
fi

if [ "$move" = "y" ] 
then
	cp ${name} ${path}/lib/macros
	chmod 644 ${path}/lib/macros/${name}
	if [ "${path}" = "/usr" ]
	    then chown bin ${path}/lib/macros/${name}
	         chgrp bin ${path}/lib/macros/${name}
	    else true
	fi
	rm -f ${name}
else true
fi

exit 0
