| #!/usr/bin/env bash | 
 | # Copyright 2009 The Go Authors. All rights reserved. | 
 | # Use of this source code is governed by a BSD-style | 
 | # license that can be found in the LICENSE file. | 
 |  | 
 | OUT="Make.deps" | 
 | TMP="Make.deps.tmp" | 
 |  | 
 | if [ -f $OUT ] && ! [ -w $OUT ]; then | 
 | 	echo "$0: $OUT is read-only; aborting." 1>&2 | 
 | 	exit 1 | 
 | fi | 
 |  | 
 | # Get list of directories from Makefile | 
 | dirs=$(sed '1,/^DIRS=/d; /^$/,$d; s/\\//g' Makefile) | 
 | dirs2=$(sed '1,/^DIRS=/d; /^$/,$d; s/\\//g' $GOROOT/src/pkg/Makefile) | 
 | dirpat=$(echo $dirs $dirs2 | sed 's/ /|/g; s/.*/^(&)$/') | 
 |  | 
 | for dir in $dirs; do ( | 
 | 	cd $dir || exit 1 | 
 |  | 
 | 	sources=$(sed -n 's/\.go\\/.go/p' Makefile) | 
 | 	sources=$(ls $sources 2> /dev/null)  # remove .s, .c, etc. | 
 |  | 
 | 	deps=$( | 
 | 		sed -n '/^import.*"/p; /^import[ \t]*(/,/^)/p' $sources /dev/null | | 
 | 		cut -d '"' -f2 | | 
 | 		egrep "$dirpat" | | 
 | 		grep -v "^$dir\$" | | 
 | 		sed 's/$/.install/' | | 
 | 		sort -u | 
 | 	) | 
 |  | 
 | 	echo $dir.install: $deps | 
 | ) done > $TMP | 
 |  | 
 | for dir in $dirs2; do ( | 
 |   echo $dir.install: \${GOROOT}/pkg/\${GOOS}_\${GOARCH}/${dir}.a | 
 | ) done >> $TMP | 
 |  | 
 | mv $TMP $OUT |