fix weird all.bash failures by running deps.bash before make clean runs in pkg directory.
before this change, if pkg/Make.deps is missing or broken, clean.bash fails and the build dies
but not until much later.

add freebsd to error message about valid values of $GOOS

TODO: would be nice if this process exited when an error occurred. subshells make it hard

R=rsc
CC=golang-dev
https://golang.org/cl/160065
diff --git a/src/make.bash b/src/make.bash
index 7d0c2b3..5807dbe 100755
--- a/src/make.bash
+++ b/src/make.bash
@@ -31,10 +31,10 @@
 esac
 
 case "$GOOS" in
-darwin | linux | nacl | freebsd)
+darwin | freebsd | linux | nacl)
 	;;
 *)
-	echo '$GOOS is set to <'$GOOS'>, must be darwin, linux, or nacl' 1>&2
+	echo '$GOOS is set to <'$GOOS'>, must be darwin, freebsd, linux, or nacl' 1>&2
 	exit 1
 esac
 
@@ -73,6 +73,10 @@
 	fi
 fi
 
+(
+	cd pkg;
+	bash deps.bash	# do this here so clean.bash will work in the pkg directory
+)
 bash clean.bash
 
 for i in lib9 libbio libmach cmd pkg libcgo cmd/cgo cmd/ebnflint cmd/godoc cmd/gofmt cmd/goyacc cmd/hgpatch
@@ -93,7 +97,6 @@
 				bash make.bash
 				;;
 			pkg)
-				bash deps.bash
 				gomake install
 				;;
 			*)