#!/bin/sh
#
############################################################
#
# @(#) $Header: depend.43,v 1.2 87/06/09 15:39:10 jpo Exp $
#
# $Log:	depend.43,v $
# Revision 1.2  87/06/09  15:39:10  jpo
# Fixed up some syntax + allowed for RCS'd makefiles with no write permission
# 
# Revision 1.1  87/06/09  15:33:22  jpo
# Initial revision
# 
#
############################################################
#
# Create a .depend file referenceable by make.

PATH=/usr/ucb:/bin:/usr/bin:/usr/local/bin export PATH

CC=gcc
case "$1" in
	*.cc) ;;
	*cc*|*CC*) CC=$1; shift ;;
esac

trap 'rm -f .depend.$$' 1 2 15
$CC -M "$@" | sed -e '/:$/d' \
	-e 's# /[^ ][^ ]*\.h##g' \
	-e '/^[ 	]*\\/d' |
awk '
# collapses multi lines to smaller number - causes HP make indigestion
# at least (JPO)
/\\$/	{ line = line substr($0, 0, length($0)-2); next }
	{ if (line) {
	  	line = line $0
		n = split(line, parts);
		len = 0;
		for (i = 1; i <= n; i++) {
			if (len +length(parts[i]) > 70) {
				printf "\\\n\t"
				len = 8
			}
			printf "%s ", parts[i]
			len += length(parts[i])
		}
		print ""
	  }
	  else print
	  line = ""
	}
END {
	 if (line) {
                line = line $0
                n = split(line, parts);
                len = 0;
                for (i = 1; i <= n; i++) {
                        if (len +length(parts[i]) > 70) {
                                printf "\\\n\t"
                                len = 8
                        }
                        printf "%s ", parts[i]
                        len += length(parts[i])
                }
                print ""
          }
}
' > .depend.$$ 

mv -f .depend.$$ .depend
