OSDN Git Service

libgo: Always use AM_LDFLAGS when linking libgo.la.
[pf3gnuchains/gcc-fork.git] / libgo / Makefile.am
index 6eb752c..c40456f 100644 (file)
@@ -657,6 +657,7 @@ endif # !LIBGO_IS_LINUX
 endif # !LIBGO_IS_RTEMS
 
 go_net_files = \
+       go/net/cgo_stub.go \
        go/net/dial.go \
        go/net/dnsclient.go \
        go/net/dnsconfig.go \
@@ -664,10 +665,12 @@ go_net_files = \
        $(go_net_newpollserver_file) \
        go/net/fd.go \
        $(go_net_fd_os_file) \
+       go/net/file.go \
        go/net/hosts.go \
        go/net/ip.go \
        go/net/iprawsock.go \
        go/net/ipsock.go \
+       go/net/lookup.go \
        go/net/net.go \
        go/net/parse.go \
        go/net/pipe.go \
@@ -686,8 +689,12 @@ if LIBGO_IS_SOLARIS
 if LIBGO_IS_386
 go_os_dir_file = go/os/dir_largefile.go
 else
+if LIBGO_IS_SPARC
+go_os_dir_file = go/os/dir_largefile.go
+else
 go_os_dir_file = go/os/dir_regfile.go
 endif
+endif
 else
 if LIBGO_IS_LINUX
 go_os_dir_file = go/os/dir_largefile.go
@@ -702,6 +709,9 @@ else
 if LIBGO_IS_SOLARIS
 go_os_sys_file = go/os/sys_uname.go
 else
+if LIBGO_IS_IRIX
+go_os_sys_file = go/os/sys_uname.go
+else
 if LIBGO_IS_RTEMS
 go_os_sys_file = go/os/sys_uname.go
 else
@@ -709,6 +719,7 @@ go_os_sys_file = go/os/sys_bsd.go
 endif
 endif
 endif
+endif
 
 go_os_files = \
        $(go_os_dir_file) \
@@ -1095,6 +1106,7 @@ go_go_ast_files = \
        go/go/ast/ast.go \
        go/go/ast/filter.go \
        go/go/ast/print.go \
+       go/go/ast/resolve.go \
        go/go/ast/scope.go \
        go/go/ast/walk.go
 go_go_doc_files = \
@@ -1215,16 +1227,21 @@ syscall_filesize_file = syscalls/sysfile_largefile.go
 syscall_stat_file = syscalls/sysfile_stat_largefile.go
 else # !LIBGO_IS_LINUX
 if LIBGO_IS_SOLARIS
-# FIXME: Same for sparc vs. sparc64.  Introduce new/additional conditional?
 if LIBGO_IS_386
-# Use lseek64 on 386 Solaris.
+# Use lseek64 on 32-bit Solaris/x86.
 syscall_filesize_file = syscalls/sysfile_largefile.go
 syscall_stat_file = syscalls/sysfile_stat_largefile.go
-else # !LIBGO_IS_LINUX && LIBGO_IS_SOLARIS && !LIBGO_IS_386
-# Use lseek on amd64 Solaris.
+else # !LIBGO_IS_386
+if LIBGO_IS_SPARC
+# Use lseek64 on 32-bit Solaris/SPARC.
+syscall_filesize_file = syscalls/sysfile_largefile.go
+syscall_stat_file = syscalls/sysfile_stat_largefile.go
+else # !LIBGO_IS_386 && !LIBGO_IS_SPARC
+# Use lseek on 64-bit Solaris.
 syscall_filesize_file = syscalls/sysfile_regfile.go
 syscall_stat_file = syscalls/sysfile_stat_regfile.go
-endif # !LIBGO_IS_386
+endif # !LIBGO_IS_386 && !LIBGO_IS_SPARC
+endif # !LIBGO_IS_SOLARIS
 else # !LIBGO_IS_LINUX && !LIBGO_IS_SOLARIS
 # Use lseek by default.
 syscall_filesize_file = syscalls/sysfile_regfile.go
@@ -1233,13 +1250,20 @@ endif # !LIBGO_IS_SOLARIS
 endif # !LIBGO_IS_LINUX
 
 
-# Define ForkExec, PtraceForkExec, Exec, and Wait4.
+# Define ForkExec, PtraceForkExec, and Exec.
 if LIBGO_IS_RTEMS
 syscall_exec_os_file = syscalls/exec_stubs.go
 else
 syscall_exec_os_file = syscalls/exec.go
 endif
 
+# Define Wait4.
+if HAVE_WAIT4
+syscall_wait_file = syscalls/wait4.go
+else
+syscall_wait_file = syscalls/waitpid.go
+endif
+
 # Define Sleep.
 if LIBGO_IS_RTEMS
 syscall_sleep_file = syscalls/sleep_rtems.go
@@ -1251,7 +1275,11 @@ endif
 if LIBGO_IS_RTEMS
 syscall_errstr_file = syscalls/errstr_rtems.go
 else
+if HAVE_STRERROR_R
 syscall_errstr_file = syscalls/errstr.go
+else
+syscall_errstr_file = syscalls/errstr_nor.go
+endif
 endif
 
 # Declare libc_strerror_r which is the Go name for strerror_r.
@@ -1260,7 +1288,7 @@ if LIBGO_IS_RTEMS
 syscall_errstr_decl_file = syscalls/errstr_decl_rtems.go
 else
 if LIBGO_IS_LINUX
-# In Linux the POSIX strerror_r is called __xpg_strerror_r.
+# On GNU/Linux the POSIX strerror_r is called __xpg_strerror_r.
 syscall_errstr_decl_file = syscalls/errstr_decl_linux.go
 else
 # On other systems we hope strerror_r is just strerror_r.
@@ -1312,6 +1340,7 @@ go_syscall_files = \
        $(syscall_errstr_decl_file) \
        syscalls/exec_helpers.go \
        $(syscall_exec_os_file) \
+       $(syscall_wait_file) \
        $(syscall_filesize_file) \
        $(syscall_stat_file) \
        $(syscall_sleep_file) \
@@ -1482,6 +1511,8 @@ libgo_go_objs = \
 
 libgo_la_SOURCES = $(runtime_files)
 
+libgo_la_LDFLAGS = $(PTHREAD_CFLAGS) $(AM_LDFLAGS)
+
 libgo_la_LIBADD = \
        $(libgo_go_objs) $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
 
@@ -1516,64 +1547,85 @@ GOTESTFLAGS =
 
 # Check a package.
 CHECK = \
-       @GC="$(GOC) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs -Wl,-R,`${PWD_COMMAND}`/.libs"; \
+       GC="$(GOC) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs -Wl,-R,`${PWD_COMMAND}`/.libs"; \
        export GC; \
        RUNTESTFLAGS="$(RUNTESTFLAGS)"; \
        export RUNTESTFLAGS; \
        MAKE="$(MAKE)"; \
        export MAKE; \
-       rm -f $@-log; \
+       rm -f $@-testsum $@-testlog; \
        prefix=`if test "$(@D)" = "regexp"; then echo regexp-test; else dirname $(@D); fi`; \
        test "$${prefix}" != "." || prefix="$(@D)"; \
        if test "$(use_dejagnu)" = "yes"; then \
-         $(SHELL) $(srcdir)/testsuite/gotest --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" $(GOTESTFLAGS); \
+         $(SHELL) $(srcdir)/testsuite/gotest --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" --testname="$(@D)" $(GOTESTFLAGS); \
        else \
-         if $(SHELL) $(srcdir)/testsuite/gotest --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" $(GOTESTFLAGS) >>$@-log 2>&1; then \
+         if $(SHELL) $(srcdir)/testsuite/gotest --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" $(GOTESTFLAGS) >>$@-testlog 2>&1; then \
+           echo "PASS: $(@D)" >> $@-testlog; \
            echo "PASS: $(@D)"; \
+           echo "PASS: $(@D)" > $@-testsum; \
          else \
-           echo "FAIL: $(@D)"; \
-           cat $@-log; \
+           echo "FAIL: $(@D)" >> $@-testlog; \
+           cat $@-testlog; \
+           echo "FAIL: $(@D)" > $@-testsum; \
            exit 1; \
          fi; \
        fi
 
+# Check a package that is only tested if GCCGO_RUN_ALL_TESTS is set.
+CHECK_ON_REQUEST = \
+       if test "$$GCCGO_RUN_ALL_TESTS" != ""; then \
+         $(CHECK); \
+       else \
+         rm -f $@-testsum $@-testlog; \
+         echo "Set GCCGO_RUN_ALL_TESTS in environment to run $(@D) test" > $@-testlog; \
+         echo "UNTESTED: $(@D)" >> $@-testlog; \
+         echo "UNTESTED: $(@D)"; \
+         echo "UNTESTED: $(@D)" > $@-testsum; \
+       fi
+
 # Build all packages before checking any.
 CHECK_DEPS = libgo.la libgobegin.a \
-       $(toolexeclib_DATA) \
-       $(toolexeclibarchive_DATA) \
-       $(toolexeclibcompress_DATA) \
-       $(toolexeclibcontainer_DATA) \
-       $(toolexeclibcrypto_DATA) \
-       $(toolexeclibdebug_DATA) \
-       $(toolexeclibencoding_DATA) \
-       $(toolexeclibexp_DATA) \
        $(toolexeclibgo_DATA) \
-       $(toolexeclibhash_DATA) \
-       $(toolexeclibhttp_DATA) \
-       $(toolexeclibimage_DATA) \
-       $(toolexeclibio_DATA) \
-       $(toolexeclibos_DATA) \
-       $(toolexeclibrpc_DATA) \
-       $(toolexeclibruntime_DATA) \
-       $(toolexeclibtesting_DATA)
+       $(toolexeclibgoarchive_DATA) \
+       $(toolexeclibgocompress_DATA) \
+       $(toolexeclibgocontainer_DATA) \
+       $(toolexeclibgocrypto_DATA) \
+       $(toolexeclibgocryptoopenpgp_DATA) \
+       $(toolexeclibgodebug_DATA) \
+       $(toolexeclibgoencoding_DATA) \
+       $(toolexeclibgoexp_DATA) \
+       $(toolexeclibgogo_DATA) \
+       $(toolexeclibgohash_DATA) \
+       $(toolexeclibgohttp_DATA) \
+       $(toolexeclibgoimage_DATA) \
+       $(toolexeclibgoindex_DATA) \
+       $(toolexeclibgoio_DATA) \
+       $(toolexeclibgomime_DATA) \
+       $(toolexeclibgonet_DATA) \
+       $(toolexeclibgoos_DATA) \
+       $(toolexeclibgopath_DATA) \
+       $(toolexeclibgorpc_DATA) \
+       $(toolexeclibgoruntime_DATA) \
+       $(toolexeclibgosync_DATA) \
+       $(toolexeclibgotesting_DATA)
 
 asn1/asn1.lo: $(go_asn1_files) bytes.gox fmt.gox io.gox os.gox reflect.gox \
                strconv.gox strings.gox time.gox
        $(BUILDPACKAGE)
 asn1/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: asn1/check
 
 big/big.lo: $(go_big_files) fmt.gox rand.gox strings.gox os.gox
        $(BUILDPACKAGE)
 big/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: big/check
 
 bufio/bufio.lo: $(go_bufio_files) bytes.gox io.gox os.gox strconv.gox utf8.gox
        $(BUILDPACKAGE)
 bufio/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: bufio/check
 
 bytes/bytes.lo: $(go_bytes_files) io.gox os.gox unicode.gox utf8.gox
@@ -1581,52 +1633,52 @@ bytes/bytes.lo: $(go_bytes_files) io.gox os.gox unicode.gox utf8.gox
 bytes/index.lo: $(go_bytes_c_files) bytes/bytes.lo
        $(LTCOMPILE) -c -o bytes/index.lo $(srcdir)/go/bytes/indexbyte.c
 bytes/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: bytes/check
 
 cmath/cmath.lo: $(go_cmath_files) math.gox
        $(BUILDPACKAGE)
 cmath/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: cmath/check
 
 crypto/crypto.lo: $(go_crypto_files) hash.gox
        $(BUILDPACKAGE)
 crypto/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/check
 
 ebnf/ebnf.lo: $(go_ebnf_files) container/vector.gox go/scanner.gox \
                go/token.gox os.gox strconv.gox unicode.gox utf8.gox
        $(BUILDPACKAGE)
 ebnf/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: ebnf/check
 
 exec/exec.lo: $(go_exec_files) os.gox strconv.gox strings.gox
        $(BUILDPACKAGE)
 exec/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: exec/check
 
 expvar/expvar.lo: $(go_expvar_files) bytes.gox fmt.gox http.gox json.gox \
                log.gox os.gox runtime.gox strconv.gox sync.gox
        $(BUILDPACKAGE)
 expvar/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: expvar/check
 
 flag/flag.lo: $(go_flag_files) fmt.gox os.gox strconv.gox
        $(BUILDPACKAGE)
 flag/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: flag/check
 
 fmt/fmt.lo: $(go_fmt_files) bytes.gox io.gox math.gox os.gox reflect.gox \
                strconv.gox strings.gox unicode.gox utf8.gox
        $(BUILDPACKAGE)
 fmt/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: fmt/check
 
 gob/gob.lo: $(go_gob_files) bufio.gox bytes.gox fmt.gox io.gox math.gox \
@@ -1634,20 +1686,20 @@ gob/gob.lo: $(go_gob_files) bufio.gox bytes.gox fmt.gox io.gox math.gox \
                unicode.gox utf8.gox
        $(BUILDPACKAGE)
 gob/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: gob/check
 
 hash/hash.lo: $(go_hash_files) io.gox
        $(BUILDPACKAGE)
 hash/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: hash/check
 
 html/html.lo: $(go_html_files) bytes.gox io.gox os.gox strconv.gox strings.gox \
                utf8.gox
        $(BUILDPACKAGE)
 html/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: html/check
 
 http/http.lo: $(go_http_files) bufio.gox bytes.gox container/vector.gox \
@@ -1657,19 +1709,19 @@ http/http.lo: $(go_http_files) bufio.gox bytes.gox container/vector.gox \
                sort.gox strconv.gox strings.gox sync.gox time.gox utf8.gox
        $(BUILDPACKAGE)
 http/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: http/check
 
 image/image.lo: $(go_image_files) bufio.gox io.gox os.gox strconv.gox
        $(BUILDPACKAGE)
 image/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: image/check
 
 io/io.lo: $(go_io_files) os.gox sync.gox
        $(BUILDPACKAGE)
 io/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: io/check
 
 json/json.lo: $(go_json_files) bytes.gox container/vector.gox \
@@ -1678,47 +1730,48 @@ json/json.lo: $(go_json_files) bytes.gox container/vector.gox \
                utf16.gox utf8.gox
        $(BUILDPACKAGE)
 json/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: json/check
 
 log/log.lo: $(go_log_files) bytes.gox fmt.gox io.gox runtime.gox os.gox \
                sync.gox time.gox
        $(BUILDPACKAGE)
 log/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: log/check
 
 math/math.lo: $(go_math_files)
        $(BUILDPACKAGE)
 math/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: math/check
 
 mime/mime.lo: $(go_mime_files) bufio.gox bytes.gox os.gox strings.gox \
                sync.gox unicode.gox
        $(BUILDPACKAGE)
 mime/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: mime/check
 
-net/net.lo: $(go_net_files) bytes.gox fmt.gox io.gox os.gox reflect.gox \
-               strconv.gox strings.gox sync.gox syscall.gox
+net/net.lo: $(go_net_files) bytes.gox fmt.gox io.gox os.gox rand.gox \
+               reflect.gox strconv.gox strings.gox sync.gox syscall.gox \
+               time.gox
        $(BUILDPACKAGE)
 net/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK_ON_REQUEST)
 .PHONY: net/check
 
 netchan/netchan.lo: $(go_netchan_files) gob.gox io.gox log.gox net.gox os.gox \
                reflect.gox strconv.gox sync.gox time.gox
        $(BUILDPACKAGE)
 netchan/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: netchan/check
 
 os/os.lo: $(go_os_files) runtime.gox sync.gox syscall.gox
        $(BUILDPACKAGE)
 os/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: os/check
 
 patch/patch.lo: $(go_patch_files) bytes.gox compress/zlib.gox \
@@ -1726,33 +1779,33 @@ patch/patch.lo: $(go_patch_files) bytes.gox compress/zlib.gox \
                path.gox strings.gox
        $(BUILDPACKAGE)
 patch/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: patch/check
 
 path/path.lo: $(go_path_files) os.gox strings.gox utf8.gox
        $(BUILDPACKAGE)
 path/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: path/check
 
 rand/rand.lo: $(go_rand_files) math.gox sync.gox
        $(BUILDPACKAGE)
 rand/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: rand/check
 
 reflect/reflect.lo: $(go_reflect_files) math.gox runtime.gox strconv.gox \
                sync.gox
        $(BUILDPACKAGE)
 reflect/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: reflect/check
 
 regexp/regexp.lo: $(go_regexp_files) bytes.gox io.gox os.gox strings.gox \
                utf8.gox
        $(BUILDPACKAGE)
 regexp/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: regexp/check
 
 rpc/rpc.lo: $(go_rpc_files) bufio.gox fmt.gox gob.gox http.gox io.gox log.gox \
@@ -1760,52 +1813,52 @@ rpc/rpc.lo: $(go_rpc_files) bufio.gox fmt.gox gob.gox http.gox io.gox log.gox \
                sync.gox template.gox unicode.gox utf8.gox
        $(BUILDPACKAGE)
 rpc/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: rpc/check
 
 runtime/runtime.lo: $(go_runtime_files)
        $(BUILDPACKAGE)
 runtime/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: runtime/check
 
 scanner/scanner.lo: $(go_scanner_files) bytes.gox fmt.gox io.gox os.gox \
                unicode.gox utf8.gox
        $(BUILDPACKAGE)
 scanner/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: scanner/check
 
 smtp/smtp.lo: $(go_smtp_files) crypto/tls.gox encoding/base64.gox io.gox \
                net.gox net/textproto.gox os.gox strings.gox
        $(BUILDPACKAGE)
 smtp/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: smtp/check
 
 sort/sort.lo: $(go_sort_files)
        $(BUILDPACKAGE)
 sort/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: sort/check
 
 strconv/strconv.lo: $(go_strconv_files) bytes.gox math.gox os.gox strings.gox \
                unicode.gox utf8.gox
        $(BUILDPACKAGE)
 strconv/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: strconv/check
 
 strings/strings.lo: $(go_strings_files) os.gox unicode.gox utf8.gox
        $(BUILDPACKAGE)
 strings/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: strings/check
 
 sync/sync.lo: $(go_sync_files) runtime.gox sync/atomic.gox
        $(BUILDPACKAGE)
 sync/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: sync/check
 
 syslog/syslog.lo: $(go_syslog_files) fmt.gox log.gox net.gox os.gox syscall.gox
@@ -1813,58 +1866,58 @@ syslog/syslog.lo: $(go_syslog_files) fmt.gox log.gox net.gox os.gox syscall.gox
 syslog/syslog_c.lo: $(go_syslog_c_files) syslog/syslog.lo
        $(LTCOMPILE) -c -o $@ $(srcdir)/go/syslog/syslog_c.c
 syslog/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK_ON_REQUEST)
 .PHONY: syslog/check
 
 tabwriter/tabwriter.lo: $(go_tabwriter_files) bytes.gox io.gox os.gox utf8.gox
        $(BUILDPACKAGE)
 tabwriter/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: tabwriter/check
 
 template/template.lo: $(go_template_files) bytes.gox fmt.gox io.gox os.gox \
                reflect.gox runtime.gox strings.gox container/vector.gox
        $(BUILDPACKAGE)
 template/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: template/check
 
 testing/testing.lo: $(go_testing_files) flag.gox fmt.gox os.gox regexp.gox \
                runtime.gox runtime/pprof.gox time.gox
        $(BUILDPACKAGE)
 testing/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: testing/check
 
 time/time.lo: $(go_time_files) bytes.gox container/heap.gox io/ioutil.gox \
                os.gox strconv.gox sync.gox syscall.gox
        $(BUILDPACKAGE)
 time/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: time/check
 
 try/try.lo: $(go_try_files) fmt.gox io.gox os.gox reflect.gox unicode.gox
        $(BUILDPACKAGE)
 try/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: try/check
 
 unicode/unicode.lo: $(go_unicode_files)
        $(BUILDPACKAGE)
 unicode/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: unicode/check
 
 utf16/utf16.lo: $(go_utf16_files) unicode.gox
        $(BUILDPACKAGE)
 utf16/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: utf16/check
 
 utf8/utf8.lo: $(go_utf8_files) unicode.gox
        $(BUILDPACKAGE)
 utf8/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: utf8/check
 
 websocket/websocket.lo: $(go_websocket_files) bufio.gox bytes.gox \
@@ -1873,14 +1926,14 @@ websocket/websocket.lo: $(go_websocket_files) bufio.gox bytes.gox \
                rand.gox strings.gox
        $(BUILDPACKAGE)
 websocket/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: websocket/check
 
 xml/xml.lo: $(go_xml_files) bufio.gox bytes.gox fmt.gox io.gox os.gox \
                reflect.gox strconv.gox strings.gox unicode.gox utf8.gox
        $(BUILDPACKAGE)
 xml/check: $(CHECK_DEPS)
-       $(CHECK)
+       @$(CHECK)
 .PHONY: xml/check
 
 archive/tar.lo: $(go_archive_tar_files) bytes.gox io.gox os.gox strconv.gox \
@@ -1888,7 +1941,7 @@ archive/tar.lo: $(go_archive_tar_files) bytes.gox io.gox os.gox strconv.gox \
        $(BUILDPACKAGE)
 archive/tar/check: $(CHECK_DEPS)
        @$(MKDIR_P) archive/tar
-       $(CHECK)
+       @$(CHECK)
 .PHONY: archive/tar/check
 
 archive/zip.lo: $(go_archive_zip_files) bufio.gox bytes.gox \
@@ -1897,14 +1950,14 @@ archive/zip.lo: $(go_archive_zip_files) bufio.gox bytes.gox \
        $(BUILDPACKAGE)
 archive/zip/check: $(CHECK_DEPS)
        @$(MKDIR_P) archive/zip
-       $(CHECK)
+       @$(CHECK)
 .PHONY: archive/zip/check
 
 compress/bzip2.lo: $(go_compress_bzip2_files) bufio.gox io.gox os.gox sort.gox
        $(BUILDPACKAGE)
 compress/bzip2/check: $(CHECK_DEPS)
        @$(MKDIR_P) compress/bzip2
-       $(CHECK)
+       @$(CHECK)
 .PHONY: compress/bzip2/check
 
 compress/flate.lo: $(go_compress_flate_files) bufio.gox io.gox math.gox \
@@ -1912,7 +1965,7 @@ compress/flate.lo: $(go_compress_flate_files) bufio.gox io.gox math.gox \
        $(BUILDPACKAGE)
 compress/flate/check: $(CHECK_DEPS)
        @$(MKDIR_P) compress/flate
-       $(CHECK)
+       @$(CHECK)
 .PHONY: compress/flate/check
 
 compress/gzip.lo: $(go_compress_gzip_files) bufio.gox compress/flate.gox \
@@ -1920,14 +1973,14 @@ compress/gzip.lo: $(go_compress_gzip_files) bufio.gox compress/flate.gox \
        $(BUILDPACKAGE)
 compress/gzip/check: $(CHECK_DEPS)
        @$(MKDIR_P) compress/gzip
-       $(CHECK)
+       @$(CHECK)
 .PHONY: compress/gzip/check
 
 compress/lzw.lo: $(go_compress_lzw_files) bufio.gox fmt.gox io.gox os.gox
        $(BUILDPACKAGE)
 compress/lzw/check: $(CHECK_DEPS)
        @$(MKDIR_P) compress/lzw
-       $(CHECK)
+       @$(CHECK)
 .PHONY: compress/lzw/check
 
 compress/zlib.lo: $(go_compress_zlib_files) bufio.gox compress/flate.gox \
@@ -1935,77 +1988,77 @@ compress/zlib.lo: $(go_compress_zlib_files) bufio.gox compress/flate.gox \
        $(BUILDPACKAGE)
 compress/zlib/check: $(CHECK_DEPS)
        @$(MKDIR_P) compress/zlib
-       $(CHECK)
+       @$(CHECK)
 .PHONY: compress/zlib/check
 
 container/heap.lo: $(go_container_heap_files) sort.gox
        $(BUILDPACKAGE)
 container/heap/check: $(CHECK_DEPS)
        @$(MKDIR_P) container/heap
-       $(CHECK)
+       @$(CHECK)
 .PHONY: container/heap/check
 
 container/list.lo: $(go_container_list_files)
        $(BUILDPACKAGE)
 container/list/check: $(CHECK_DEPS)
        @$(MKDIR_P) container/list
-       $(CHECK)
+       @$(CHECK)
 .PHONY: container/list/check
 
 container/ring.lo: $(go_container_ring_files)
        $(BUILDPACKAGE)
 container/ring/check: $(CHECK_DEPS)
        @$(MKDIR_P) container/ring
-       $(CHECK)
+       @$(CHECK)
 .PHONY: container/ring/check
 
 container/vector.lo: $(go_container_vector_files)
        $(BUILDPACKAGE)
 container/vector/check: $(CHECK_DEPS)
        @$(MKDIR_P) container/vector
-       $(CHECK)
+       @$(CHECK)
 .PHONY: container/vector/check
 
 crypto/aes.lo: $(go_crypto_aes_files) os.gox strconv.gox
        $(BUILDPACKAGE)
 crypto/aes/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/aes
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/aes/check
 
 crypto/block.lo: $(go_crypto_block_files) fmt.gox io.gox os.gox strconv.gox
        $(BUILDPACKAGE)
 crypto/block/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/block
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/block/check
 
 crypto/blowfish.lo: $(go_crypto_blowfish_files) os.gox strconv.gox
        $(BUILDPACKAGE)
 crypto/blowfish/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/blowfish
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/blowfish/check
 
 crypto/cast5.lo: $(go_crypto_cast5_files) os.gox
        $(BUILDPACKAGE)
-crypt/cast5/check: $(CHECK_DEPS)
+crypto/cast5/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/cast5
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/cast5/check
 
 crypto/cipher.lo: $(go_crypto_cipher_files) io.gox os.gox
        $(BUILDPACKAGE)
 crypto/cipher/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/cipher
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/cipher/check
 
 crypto/dsa.lo: $(go_crypto_dsa_files) big.gox io.gox os.gox
        $(BUILDPACKAGE)
 crypto/dsa/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/dsa
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/dsa/check
 
 crypto/ecdsa.lo: $(go_crypto_ecdsa_files) big.gox crypto/elliptic.gox io.gox \
@@ -2013,14 +2066,14 @@ crypto/ecdsa.lo: $(go_crypto_ecdsa_files) big.gox crypto/elliptic.gox io.gox \
        $(BUILDPACKAGE)
 crypto/ecdsa/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/ecdsa
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/ecdsa/check
 
 crypto/elliptic.lo: $(go_crypto_elliptic_files) big.gox io.gox os.gox sync.gox
        $(BUILDPACKAGE)
 crypto/elliptic/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/elliptic
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/elliptic/check
 
 crypto/hmac.lo: $(go_crypto_hmac_files) crypto/md5.gox crypto/sha1.gox \
@@ -2028,21 +2081,21 @@ crypto/hmac.lo: $(go_crypto_hmac_files) crypto/md5.gox crypto/sha1.gox \
        $(BUILDPACKAGE)
 crypto/hmac/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/hmac
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/hmac/check
 
 crypto/md4.lo: $(go_crypto_md4_files) crypto.gox hash.gox os.gox
        $(BUILDPACKAGE)
 crypto/md4/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/md4
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/md4/check
 
 crypto/md5.lo: $(go_crypto_md5_files) crypto.gox hash.gox os.gox
        $(BUILDPACKAGE)
 crypto/md5/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/md5
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/md5/check
 
 crypto/ocsp.lo: $(go_crypto_ocsp_files) asn1.gox crypto.gox crypto/rsa.gox \
@@ -2050,7 +2103,7 @@ crypto/ocsp.lo: $(go_crypto_ocsp_files) asn1.gox crypto.gox crypto/rsa.gox \
        $(BUILDPACKAGE)
 crypto/ocsp/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/ocsp
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/ocsp/check
 
 crypto/openpgp.lo: $(go_crypto_openpgp_files) crypto.gox crypto/dsa.gox \
@@ -2060,7 +2113,7 @@ crypto/openpgp.lo: $(go_crypto_openpgp_files) crypto.gox crypto/dsa.gox \
        $(BUILDPACKAGE)
 crypto/openpgp/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/openpgp
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/openpgp/check
 
 crypto/rand.lo: $(go_crypto_rand_files) bufio.gox crypto/aes.gox io.gox \
@@ -2068,21 +2121,21 @@ crypto/rand.lo: $(go_crypto_rand_files) bufio.gox crypto/aes.gox io.gox \
        $(BUILDPACKAGE)
 crypto/rand/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/rand
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/rand/check
 
 crypto/rc4.lo: $(go_crypto_rc4_files) os.gox strconv.gox
        $(BUILDPACKAGE)
 crypto/rc4/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/rc4
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/rc4/check
 
 crypto/ripemd160.lo: $(go_crypto_ripemd160_files) crypto.gox hash.gox os.gox
        $(BUILDPACKAGE)
 crypto/ripemd160/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/ripemd160
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/ripemd160/check
 
 crypto/rsa.lo: $(go_crypto_rsa_files) big.gox crypto.gox crypto/sha1.gox \
@@ -2090,35 +2143,35 @@ crypto/rsa.lo: $(go_crypto_rsa_files) big.gox crypto.gox crypto/sha1.gox \
        $(BUILDPACKAGE)
 crypto/rsa/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/rsa
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/rsa/check
 
 crypto/sha1.lo: $(go_crypto_sha1_files) crypto.gox hash.gox os.gox
        $(BUILDPACKAGE)
 crypto/sha1/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/sha1
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/sha1/check
 
 crypto/sha256.lo: $(go_crypto_sha256_files) crypto.gox hash.gox os.gox
        $(BUILDPACKAGE)
 crypto/sha256/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/sha256
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/sha256/check
 
 crypto/sha512.lo: $(go_crypto_sha512_files) crypto.gox hash.gox os.gox
        $(BUILDPACKAGE)
 crypto/sha512/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/sha512
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/sha512/check
 
 crypto/subtle.lo: $(go_crypto_subtle_files)
        $(BUILDPACKAGE)
 crypto/subtle/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/subtle
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/subtle/check
 
 crypto/tls.lo: $(go_crypto_tls_files) big.gox bufio.gox bytes.gox \
@@ -2131,14 +2184,14 @@ crypto/tls.lo: $(go_crypto_tls_files) big.gox bufio.gox bytes.gox \
        $(BUILDPACKAGE)
 crypto/tls/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/tls
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/tls/check
 
 crypto/twofish.lo: $(go_crypto_twofish_files) os.gox strconv.gox
        $(BUILDPACKAGE)
 crypto/twofish/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/twofish
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/twofish/check
 
 crypto/x509.lo: $(go_crypto_x509_files) asn1.gox big.gox container/vector.gox \
@@ -2147,14 +2200,14 @@ crypto/x509.lo: $(go_crypto_x509_files) asn1.gox big.gox container/vector.gox \
        $(BUILDPACKAGE)
 crypto/x509/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/x509
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/x509/check
 
 crypto/xtea.lo: $(go_crypto_xtea_files) os.gox strconv.gox
        $(BUILDPACKAGE)
 crypto/xtea/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/xtea
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/xtea/check
 
 crypto/openpgp/armor.lo: $(go_crypto_openpgp_armor_files) bytes.gox \
@@ -2163,14 +2216,14 @@ crypto/openpgp/armor.lo: $(go_crypto_openpgp_armor_files) bytes.gox \
        $(BUILDPACKAGE)
 crypto/openpgp/armor/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/openpgp/armor
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/openpgp/armor/check
 
 crypto/openpgp/error.lo: $(go_crypto_openpgp_error_files) strconv.gox
        $(BUILDPACKAGE)
 crypto/openpgp/error/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/openpgp/error
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/openpgp/error/check
 
 crypto/openpgp/packet.lo: $(go_crypto_openpgp_packet_files) big.gox bytes.gox \
@@ -2183,7 +2236,7 @@ crypto/openpgp/packet.lo: $(go_crypto_openpgp_packet_files) big.gox bytes.gox \
        $(BUILDPACKAGE)
 crypto/openpgp/packet/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/openpgp/packet
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/openpgp/packet/check
 
 crypto/openpgp/s2k.lo: $(go_crypto_openpgp_s2k_files) crypto.gox \
@@ -2193,14 +2246,14 @@ crypto/openpgp/s2k.lo: $(go_crypto_openpgp_s2k_files) crypto.gox \
        $(BUILDPACKAGE)
 crypto/openpgp/s2k/check: $(CHECK_DEPS)
        @$(MKDIR_P) crypto/openpgp/s2k
-       $(CHECK)
+       @$(CHECK)
 .PHONY: crypto/openpgp/s2k/check
 
 debug/dwarf.lo: $(go_debug_dwarf_files) encoding/binary.gox os.gox strconv.gox
        $(BUILDPACKAGE)
 debug/dwarf/check: $(CHECK_DEPS)
        @$(MKDIR_P) debug/dwarf
-       $(CHECK)
+       @$(CHECK)
 .PHONY: debug/dwarf/check
 
 debug/elf.lo: $(go_debug_elf_files) bytes.gox debug/dwarf.gox \
@@ -2208,7 +2261,7 @@ debug/elf.lo: $(go_debug_elf_files) bytes.gox debug/dwarf.gox \
        $(BUILDPACKAGE)
 debug/elf/check: $(CHECK_DEPS)
        @$(MKDIR_P) debug/elf
-       $(CHECK)
+       @$(CHECK)
 .PHONY: debug/elf/check
 
 debug/gosym.lo: $(go_debug_gosym_files) encoding/binary.gox fmt.gox os.gox \
@@ -2216,7 +2269,7 @@ debug/gosym.lo: $(go_debug_gosym_files) encoding/binary.gox fmt.gox os.gox \
        $(BUILDPACKAGE)
 debug/gosym/check: $(CHECK_DEPS)
        @$(MKDIR_P) debug/gosym
-       $(CHECK)
+       @$(CHECK)
 .PHONY: debug/gosym/check
 
 debug/macho.lo: $(go_debug_macho_files) bytes.gox debug/dwarf.gox \
@@ -2224,7 +2277,7 @@ debug/macho.lo: $(go_debug_macho_files) bytes.gox debug/dwarf.gox \
        $(BUILDPACKAGE)
 debug/macho/check: $(CHECK_DEPS)
        @$(MKDIR_P) debug/macho
-       $(CHECK)
+       @$(CHECK)
 .PHONY: debug/macho/check
 
 debug/pe.lo: $(go_debug_pe_files) debug/dwarf.gox \
@@ -2232,7 +2285,7 @@ debug/pe.lo: $(go_debug_pe_files) debug/dwarf.gox \
        $(BUILDPACKAGE)
 debug/pe/check: $(CHECK_DEPS)
        @$(MKDIR_P) debug/pe
-       $(CHECK)
+       @$(CHECK)
 .PHONY: debug/pe/check
 
 debug/proc.lo: $(go_debug_proc_files) container/vector.gox fmt.gox \
@@ -2241,28 +2294,28 @@ debug/proc.lo: $(go_debug_proc_files) container/vector.gox fmt.gox \
        $(BUILDPACKAGE)
 debug/proc/check: $(CHECK_DEPS)
        @$(MKDIR_P) debug/proc
-       $(CHECK)
+       @$(CHECK)
 .PHONY: debug/proc/check
 
 encoding/ascii85.lo: $(go_encoding_ascii85_files) io.gox os.gox strconv.gox
        $(BUILDPACKAGE)
 encoding/ascii85/check: $(CHECK_DEPS)
        @$(MKDIR_P) encoding/ascii85
-       $(CHECK)
+       @$(CHECK)
 .PHONY: encoding/ascii85/check
 
 encoding/base32.lo: $(go_encoding_base32_files) io.gox os.gox strconv.gox
        $(BUILDPACKAGE)
 encoding/base32/check: $(CHECK_DEPS)
        @$(MKDIR_P) encoding/base32
-       $(CHECK)
+       @$(CHECK)
 .PHONY: encoding/base32/check
 
 encoding/base64.lo: $(go_encoding_base64_files) io.gox os.gox strconv.gox
        $(BUILDPACKAGE)
 encoding/base64/check: $(CHECK_DEPS)
        @$(MKDIR_P) encoding/base64
-       $(CHECK)
+       @$(CHECK)
 .PHONY: encoding/base64/check
 
 encoding/binary.lo: $(go_encoding_binary_files) io.gox math.gox os.gox \
@@ -2270,7 +2323,7 @@ encoding/binary.lo: $(go_encoding_binary_files) io.gox math.gox os.gox \
        $(BUILDPACKAGE)
 encoding/binary/check: $(CHECK_DEPS)
        @$(MKDIR_P) encoding/binary
-       $(CHECK)
+       @$(CHECK)
 .PHONY: encoding/binary/check
 
 encoding/git85.lo: $(go_encoding_git85_files) bytes.gox io.gox os.gox \
@@ -2278,28 +2331,28 @@ encoding/git85.lo: $(go_encoding_git85_files) bytes.gox io.gox os.gox \
        $(BUILDPACKAGE)
 encoding/git85/check: $(CHECK_DEPS)
        @$(MKDIR_P) encoding/git85
-       $(CHECK)
+       @$(CHECK)
 .PHONY: encoding/git85/check
 
 encoding/hex.lo: $(go_encoding_hex_files) os.gox strconv.gox
        $(BUILDPACKAGE)
 encoding/hex/check: $(CHECK_DEPS)
        @$(MKDIR_P) encoding/hex
-       $(CHECK)
+       @$(CHECK)
 .PHONY: encoding/hex/check
 
 encoding/line.lo: $(go_encoding_line_files) io.gox os.gox
        $(BUILDPACKAGE)
 encoding/line/check: $(CHECK_DEPS)
        @$(MKDIR_P) encoding/line
-       $(CHECK)
+       @$(CHECK)
 .PHONY: encoding/line/check
 
 encoding/pem.lo: $(go_encoding_pem_files) bytes.gox encoding/base64.gox
        $(BUILDPACKAGE)
 encoding/pem/check: $(CHECK_DEPS)
        @$(MKDIR_P) encoding/pem
-       $(CHECK)
+       @$(CHECK)
 .PHONY: encoding/pem/check
 
 exp/datafmt.lo: $(go_exp_datafmt_files) bytes.gox container/vector.gox \
@@ -2308,14 +2361,14 @@ exp/datafmt.lo: $(go_exp_datafmt_files) bytes.gox container/vector.gox \
        $(BUILDPACKAGE)
 exp/datafmt/check: $(CHECK_DEPS)
        @$(MKDIR_P) exp/datafmt
-       $(CHECK)
+       @$(CHECK)
 .PHONY: exp/datafmt/check
 
 exp/draw.lo: $(go_exp_draw_files) image.gox os.gox
        $(BUILDPACKAGE)
 exp/draw/check: $(CHECK_DEPS)
        @$(MKDIR_P) exp/draw
-       $(CHECK)
+       @$(CHECK)
 .PHONY: exp/draw/check
 
 exp/eval.lo: $(go_exp_eval_files) big.gox go/ast.gox go/parser.gox \
@@ -2324,15 +2377,15 @@ exp/eval.lo: $(go_exp_eval_files) big.gox go/ast.gox go/parser.gox \
        $(BUILDPACKAGE)
 exp/eval/check: $(CHECK_DEPS)
        @$(MKDIR_P) exp/eval
-       $(CHECK)
+       @$(CHECK)
 .PHONY: exp/eval/check
 
-go/ast.lo: $(go_go_ast_files) bytes.gox fmt.gox go/token.gox io.gox os.gox \
-               reflect.gox unicode.gox utf8.gox
+go/ast.lo: $(go_go_ast_files) bytes.gox fmt.gox go/scanner.gox go/token.gox \
+               io.gox os.gox reflect.gox unicode.gox utf8.gox
        $(BUILDPACKAGE)
 go/ast/check: $(CHECK_DEPS)
        @$(MKDIR_P) go/ast
-       $(CHECK)
+       @$(CHECK)
 .PHONY: go/ast/check
 
 go/doc.lo: $(go_go_doc_files) go/ast.gox go/token.gox io.gox regexp.gox \
@@ -2340,7 +2393,7 @@ go/doc.lo: $(go_go_doc_files) go/ast.gox go/token.gox io.gox regexp.gox \
        $(BUILDPACKAGE)
 go/doc/check: $(CHECK_DEPS)
        @$(MKDIR_P) go/doc
-       $(CHECK)
+       @$(CHECK)
 .PHONY: go/doc/check
 
 go/parser.lo: $(go_go_parser_files) bytes.gox fmt.gox go/ast.gox \
@@ -2349,7 +2402,7 @@ go/parser.lo: $(go_go_parser_files) bytes.gox fmt.gox go/ast.gox \
        $(BUILDPACKAGE)
 go/parser/check: $(CHECK_DEPS)
        @$(MKDIR_P) go/parser
-       $(CHECK)
+       @$(CHECK)
 .PHONY: go/parser/check
 
 go/printer.lo: $(go_go_printer_files) bytes.gox fmt.gox go/ast.gox \
@@ -2358,7 +2411,7 @@ go/printer.lo: $(go_go_printer_files) bytes.gox fmt.gox go/ast.gox \
        $(BUILDPACKAGE)
 go/printer/check: $(CHECK_DEPS)
        @$(MKDIR_P) go/printer
-       $(CHECK)
+       @$(CHECK)
 .PHONY: go/printer/check
 
 go/scanner.lo: $(go_go_scanner_files) bytes.gox container/vector.gox fmt.gox \
@@ -2367,14 +2420,14 @@ go/scanner.lo: $(go_go_scanner_files) bytes.gox container/vector.gox fmt.gox \
        $(BUILDPACKAGE)
 go/scanner/check: $(CHECK_DEPS)
        @$(MKDIR_P) go/scanner
-       $(CHECK)
+       @$(CHECK)
 .PHONY: go/scanner/check
 
 go/token.lo: $(go_go_token_files) fmt.gox strconv.gox
        $(BUILDPACKAGE)
 go/token/check: $(CHECK_DEPS)
        @$(MKDIR_P) go/token
-       $(CHECK)
+       @$(CHECK)
 .PHONY: go/token/check
 
 go/typechecker.lo: $(go_go_typechecker_files) fmt.gox go/ast.gox go/token.gox \
@@ -2382,35 +2435,35 @@ go/typechecker.lo: $(go_go_typechecker_files) fmt.gox go/ast.gox go/token.gox \
        $(BUILDPACKAGE)
 go/typechecker/check: $(CHECK_DEPS)
        @$(MKDIR_P) go/typechecker
-       $(CHECK)
+       @$(CHECK)
 .PHONY: go/typechecker/check
 
 hash/adler32.lo: $(go_hash_adler32_files) hash.gox os.gox
        $(BUILDPACKAGE)
 hash/adler32/check: $(CHECK_DEPS)
        @$(MKDIR_P) hash/adler32
-       $(CHECK)
+       @$(CHECK)
 .PHONY: hash/adler32/check
 
 hash/crc32.lo: $(go_hash_crc32_files) hash.gox os.gox
        $(BUILDPACKAGE)
 hash/crc32/check: $(CHECK_DEPS)
        @$(MKDIR_P) hash/crc32
-       $(CHECK)
+       @$(CHECK)
 .PHONY: hash/crc32/check
 
 hash/crc64.lo: $(go_hash_crc64_files) hash.gox os.gox
        $(BUILDPACKAGE)
 hash/crc64/check: $(CHECK_DEPS)
        @$(MKDIR_P) hash/crc64
-       $(CHECK)
+       @$(CHECK)
 .PHONY: hash/crc64/check
 
 hash/fnv.lo: $(go_hash_fnv_files) encoding/binary.gox hash.gox os.gox
        $(BUILDPACKAGE)
 hash/fnv/check: $(CHECK_DEPS)
        @$(MKDIR_P) hash/fnv
-       $(CHECK)
+       @$(CHECK)
 .PHONY: hash/fnv/check
 
 http/cgi.lo: $(go_http_cgi_files) bufio.gox bytes.gox encoding/line.gox \
@@ -2419,7 +2472,7 @@ http/cgi.lo: $(go_http_cgi_files) bufio.gox bytes.gox encoding/line.gox \
        $(BUILDPACKAGE)
 http/cgi/check: $(CHECK_DEPS)
        @$(MKDIR_P) http/cgi
-       $(CHECK)
+       @$(CHECK)
 .PHONY: http/cgi/check
 
 http/httptest.lo: $(go_http_httptest_files) bytes.gox fmt.gox http.gox \
@@ -2427,7 +2480,7 @@ http/httptest.lo: $(go_http_httptest_files) bytes.gox fmt.gox http.gox \
        $(BUILDPACKAGE)
 http/httptest/check: $(CHECK_DEPS)
        @$(MKDIR_P) http/httptest
-       $(CHECK)
+       @$(CHECK)
 .PHONY: http/httptest/check
 
 http/pprof.lo: $(go_http_pprof_files) bufio.gox fmt.gox http.gox os.gox \
@@ -2435,14 +2488,14 @@ http/pprof.lo: $(go_http_pprof_files) bufio.gox fmt.gox http.gox os.gox \
        $(BUILDPACKAGE)
 http/pprof/check: $(CHECK_DEPS)
        @$(MKDIR_P) http/pprof
-       $(CHECK)
+       @$(CHECK)
 .PHONY: http/pprof/check
 
 image/jpeg.lo: $(go_image_jpeg_files) bufio.gox image.gox io.gox os.gox
        $(BUILDPACKAGE)
 image/jpeg/check: $(CHECK_DEPS)
        @$(MKDIR_P) image/jpeg
-       $(CHECK)
+       @$(CHECK)
 .PHONY: image/jpeg/check
 
 image/png.lo: $(go_image_png_files) bufio.gox compress/zlib.gox fmt.gox \
@@ -2450,7 +2503,7 @@ image/png.lo: $(go_image_png_files) bufio.gox compress/zlib.gox fmt.gox \
        $(BUILDPACKAGE)
 image/png/check: $(CHECK_DEPS)
        @$(MKDIR_P) image/png
-       $(CHECK)
+       @$(CHECK)
 .PHONY: image/png/check
 
 index/suffixarray.lo: $(go_index_suffixarray_files) bytes.gox regexp.gox \
@@ -2458,7 +2511,7 @@ index/suffixarray.lo: $(go_index_suffixarray_files) bytes.gox regexp.gox \
        $(BUILDPACKAGE)
 index/suffixarray/check: $(CHECK_DEPS)
        @$(MKDIR_P) index/suffixarray
-       $(CHECK)
+       @$(CHECK)
 .PHONY: index/suffixarray/check
 
 io/ioutil.lo: $(go_io_ioutil_files) bytes.gox io.gox os.gox path/filepath.gox \
@@ -2466,7 +2519,7 @@ io/ioutil.lo: $(go_io_ioutil_files) bytes.gox io.gox os.gox path/filepath.gox \
        $(BUILDPACKAGE)
 io/ioutil/check: $(CHECK_DEPS)
        @$(MKDIR_P) io/ioutil
-       $(CHECK)
+       @$(CHECK)
 .PHONY: io/ioutil/check
 
 mime/multipart.lo: $(go_mime_multipart_files) bufio.gox bytes.gox io.gox \
@@ -2474,7 +2527,7 @@ mime/multipart.lo: $(go_mime_multipart_files) bufio.gox bytes.gox io.gox \
        $(BUILDPACKAGE)
 mime/multipart/check: $(CHECK_DEPS)
        @$(MKDIR_P) mime/multipart
-       $(CHECK)
+       @$(CHECK)
 .PHONY: mime/multipart/check
 
 net/dict.lo: $(go_net_dict_files) container/vector.gox net/textproto.gox \
@@ -2487,21 +2540,21 @@ net/textproto.lo: $(go_net_textproto_files) bufio.gox bytes.gox \
        $(BUILDPACKAGE)
 net/textproto/check: $(CHECK_DEPS)
        @$(MKDIR_P) net/textproto
-       $(CHECK)
+       @$(CHECK)
 .PHONY: net/textproto/check
 
 os/inotify.lo: $(go_os_inotify_files) fmt.gox os.gox strings.gox syscall.gox
        $(BUILDPACKAGE)
 os/inotify/check: $(CHECK_DEPS)
        @$(MKDIR_P) os/inotify
-       $(CHECK)
+       @$(CHECK)
 .PHONY: os/inotify/check
 
 os/signal.lo: $(go_os_signal_files) runtime.gox strconv.gox
        $(BUILDPACKAGE)
 os/signal/check: $(CHECK_DEPS)
        @$(MKDIR_P) os/signal
-       $(CHECK)
+       @$(CHECK)
 .PHONY: os/signal/check
 
 unix.go: $(srcdir)/go/os/signal/mkunix.sh sysinfo.go
@@ -2513,7 +2566,7 @@ path/filepath.lo: $(go_path_filepath_files) bytes.gox os.gox sort.gox \
        $(BUILDPACKAGE)
 path/filepath/check: $(CHECK_DEPS)
        @$(MKDIR_P) path/filepath
-       $(CHECK)
+       @$(CHECK)
 .PHONY: path/filepath/check
 
 rpc/jsonrpc.lo: $(go_rpc_jsonrpc_files) fmt.gox io.gox json.gox net.gox \
@@ -2521,7 +2574,7 @@ rpc/jsonrpc.lo: $(go_rpc_jsonrpc_files) fmt.gox io.gox json.gox net.gox \
        $(BUILDPACKAGE)
 rpc/jsonrpc/check: $(CHECK_DEPS)
        @$(MKDIR_P) rpc/jsonrpc
-       $(CHECK)
+       @$(CHECK)
 .PHONY: rpc/jsonrpc/check
 
 runtime/debug.lo: $(go_runtime_debug_files) bytes.gox fmt.gox io/ioutil.gox \
@@ -2529,7 +2582,7 @@ runtime/debug.lo: $(go_runtime_debug_files) bytes.gox fmt.gox io/ioutil.gox \
        $(BUILDPACKAGE)
 runtime/debug/check: $(CHECK_DEPS)
        @$(MKDIR_P) runtime/debug
-       $(CHECK)
+       @$(CHECK)
 .PHONY: runtime/debug/check
 
 runtime/pprof.lo: $(go_runtime_pprof_files) bufio.gox fmt.gox io.gox os.gox \
@@ -2537,7 +2590,7 @@ runtime/pprof.lo: $(go_runtime_pprof_files) bufio.gox fmt.gox io.gox os.gox \
        $(BUILDPACKAGE)
 runtime/pprof/check: $(CHECK_DEPS)
        @$(MKDIR_P) runtime/pprof
-       $(CHECK)
+       @$(CHECK)
 .PHONY: runtime/pprof/check
 
 sync/atomic.lo: $(go_sync_atomic_files)
@@ -2546,14 +2599,14 @@ sync/atomic_c.lo: $(go_sync_atomic_c_files) sync/atomic.lo
        $(LTCOMPILE) -c -o $@ $(srcdir)/go/sync/atomic/atomic.c
 sync/atomic/check: $(CHECK_DEPS)
        @$(MKDIR_P) sync/atomic
-       $(CHECK)
+       @$(CHECK)
 .PHONY: sync/atomic/check
 
 testing/iotest.lo: $(go_testing_iotest_files) io.gox log.gox os.gox
        $(BUILDPACKAGE)
 testing/iotest/check: $(CHECK_DEPS)
        @$(MKDIR_P) testing/iotest
-       $(CHECK)
+       @$(CHECK)
 .PHONY: testing/iotest/check
 
 testing/quick.lo: $(go_testing_quick_files) flag.gox fmt.gox math.gox os.gox \
@@ -2561,7 +2614,7 @@ testing/quick.lo: $(go_testing_quick_files) flag.gox fmt.gox math.gox os.gox \
        $(BUILDPACKAGE)
 testing/quick/check: $(CHECK_DEPS)
        @$(MKDIR_P) testing/quick
-       $(CHECK)
+       @$(CHECK)
 .PHONY: testing/quick/check
 
 testing/script.lo: $(go_testing_script_files) fmt.gox os.gox rand.gox \
@@ -2569,12 +2622,12 @@ testing/script.lo: $(go_testing_script_files) fmt.gox os.gox rand.gox \
        $(BUILDPACKAGE)
 testing/script/check: $(CHECK_DEPS)
        @$(MKDIR_P) testing/script
-       $(CHECK)
+       @$(CHECK)
 .PHONY: testing/script/check
 
 sysinfo.go: s-sysinfo; @true
 s-sysinfo: $(srcdir)/mksysinfo.sh config.h
-       CC="$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)" $(SHELL) $(srcdir)/mksysinfo.sh
+       CC="$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(OSCFLAGS)" $(SHELL) $(srcdir)/mksysinfo.sh
        $(SHELL) $(srcdir)/../move-if-change tmp-sysinfo.go sysinfo.go
        $(STAMP) $@
 
@@ -2911,7 +2964,7 @@ TEST_PACKAGES = \
        log/check \
        math/check \
        mime/check \
-       $(if $(GCCGO_RUN_ALL_TESTS),net/check) \
+       net/check \
        netchan/check \
        os/check \
        patch/check \
@@ -2927,7 +2980,7 @@ TEST_PACKAGES = \
        strconv/check \
        strings/check \
        sync/check \
-       $(if $(GCCGO_RUN_ALL_TESTS),syslog/check) \
+       syslog/check \
        tabwriter/check \
        template/check \
        time/check \
@@ -3014,14 +3067,64 @@ TEST_PACKAGES = \
        testing/quick/check \
        testing/script/check
 
-check-recursive: $(TEST_PACKAGES)
+check-am:
+       @rm -f libgo.sum libgo.log libgo.tail
+       @echo "Test Run By $${USER} on `date`" > libgo.sum
+       @echo "Native configuration is $(host_triplet)" >> libgo.sum
+       @echo >> libgo.sum
+       @echo "         === libgo tests ===" >> libgo.sum
+       @echo >> libgo.sum
+       @echo "Schedule of variations:" >> libgo.sum
+       @echo "    unix" >> libgo.sum
+       @echo >> libgo.sum
+       @echo "Running target unix" >> libgo.sum
+       @echo "Running $(srcdir)/libgo.exp ..." >> libgo.sum
+       @cp libgo.sum libgo.log
+       @echo > libgo.tail
+       @echo "         === libgo summary ===" >> libgo.tail
+       @echo >> libgo.tail
+       @for f in $(TEST_PACKAGES); do \
+          rm -f $$f-testsum $$f-testlog; \
+        done
+       @$(MAKE) -k $(TEST_PACKAGES); \
+       status=$$?; \
+       for f in $(TEST_PACKAGES); do \
+         if test -f $$f-testsum; then \
+           cat $$f-testsum >> libgo.sum; \
+         fi; \
+         if test -f $$f-testlog; then \
+           cat $$f-testlog >> libgo.log; \
+         fi; \
+       done; \
+       p=`grep -c PASS libgo.sum`; \
+       if test "$$p" != "0"; then \
+         echo "# of expected passes            $$p" >> libgo.tail; \
+       fi; \
+       p=`grep -c FAIL libgo.sum`; \
+       if test "$$p" != "0"; then \
+         echo "# of unexpected failures        $$p" >> libgo.tail; \
+       fi; \
+       p=`grep -c UNTESTED libgo.sum`; \
+       if test "$$p" != "0"; then \
+         echo "# of untested testcases         $$p" >> libgo.tail; \
+       fi; \
+       cat libgo.tail >> libgo.sum; \
+       cat libgo.tail >> libgo.log; \
+       echo `echo $(GOC) | sed -e 's/ .*//'`  `$(GOC) -v 2>&1 | grep " version" | sed -n -e 's/.* \(version.*$$\)/\1/p'` >> libgo.sum; \
+       echo >> libgo.log; \
+       echo "runtest completed at `date`" >> libgo.log; \
+       exit $$status
+
+MOSTLYCLEAN_FILES = libgo.tail
 
 mostlyclean-local:
        find . -name '*.lo' -print | xargs $(LIBTOOL) --mode=clean rm -f
        find . -name '*.$(OBJEXT)' -print | xargs rm -f
+       find . -name '*-testsum' -print | xargs rm -f
+       find . -name '*-testlog' -print | xargs rm -f
+
+CLEANFILES = *.go *.gox goc2c *.c s-version libgo.sum libgo.log
 
 clean-local:
        find . -name '*.la' -print | xargs $(LIBTOOL) --mode=clean rm -f
        find . -name '*.a' -print | xargs rm -f
-
-CLEANFILES = *.go *.gox goc2c *.c s-version