| # 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. |
| eval $(gomake --no-print-directory -f ../Make.inc go-env) |
| if [ -f $OUT ] && ! [ -w $OUT ]; then |
| echo "$0: $OUT is read-only; aborting." 1>&2 |
| # Get list of directories from Makefile |
| dirs=$(gomake --no-print-directory echo-dirs) |
| dirpat=$(echo $dirs C | awk '{ |
| cd $dir >/dev/null || exit 1 |
| sources=$(sed -n 's/^[ ]*\([^ ]*\.go\)[ ]*\\*[ ]*$/\1/p' Makefile) |
| sources=$(echo $sources | sed 's/\$(GOOS)/'$GOOS'/g') |
| sources=$(echo $sources | sed 's/\$(GOARCH)/'$GOARCH'/g') |
| # /dev/null here means we get an empty dependency list if $sources is empty |
| # instead of listing every file in the directory. |
| sources=$(ls $sources /dev/null 2> /dev/null) # remove .s, .c, etc. |
| sed -n '/^import.*"/p; /^import[ \t]*(/,/^)/p' $sources /dev/null | |
| sed 's;^C\.install;runtime/cgo.install;' | |
| if (egrep -v '^(exp|old)/' $OUT | egrep -q " (exp|old)/"); then |
| echo "$0: $OUT contains dependencies to exp or old packages" |