set -e
-if [ -z "$GOROOT" ] ; then
- echo '$GOROOT not set'
+if [ ! -f run.bash ]; then
+ echo 'clean.bash must be run from $GOROOT/src' 1>&2
exit 1
fi
+export GOROOT="$(cd .. && pwd)"
-GOBIN="${GOBIN:-$HOME/bin}"
+gobin="${GOROOT}"/bin
+if ! "$gobin"/go help >/dev/null 2>&1; then
+ echo 'cannot find go command; nothing to clean' >&2
+ exit 1
+fi
-rm -rf "$GOROOT"/pkg/${GOOS}_$GOARCH
-rm -f "$GOROOT"/lib/*.a
-for i in lib9 libbio libcgo libmach cmd pkg \
- ../misc/cgo/gmp ../misc/cgo/stdio \
- ../test/bench
-do(
- cd "$GOROOT"/src/$i || exit 1
- if test -f clean.bash; then
- bash clean.bash
- else
- "$GOBIN"/gomake clean
- fi
-)done
+"$gobin/go" clean -i std
+"$gobin/go" tool dist clean
+"$gobin/go" clean -i cmd