# 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.

clean:
	rm -rf *.o *.a *.[$(OS)] [$(OS)].out $(CLEANFILES)

%.make:
	gomake -C $* install

.PHONY: all clean nuke install coverage test bench testpackage-clean\ 
	importpath dir

