blob: d43174f6518d4547f086d6040e22ce22905cb8ca [file] [log] [blame]
# 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.
# After editing the DIRS= list or adding imports to any Go files
# in any of those directories, run:
#
# ./deps.bash
#
# to rebuild the dependency information in Make.deps.
nullstring :=
space := $(nullstring) # a space at the end
ifndef GOBIN
QUOTED_HOME=$(subst $(space),\ ,$(HOME))
GOBIN=$(QUOTED_HOME)/bin
endif
QUOTED_GOBIN=$(subst $(space),\ ,$(GOBIN))
all: install
DIRS=\
archive/tar\
asn1\
big\
bufio\
bytes\
cmath\
compress/flate\
compress/gzip\
compress/zlib\
container/heap\
container/list\
container/ring\
container/vector\
crypto/aes\
crypto/block\
crypto/blowfish\
crypto/hmac\
crypto/md4\
crypto/md5\
crypto/rand\
crypto/rc4\
crypto/ripemd160\
crypto/rsa\
crypto/sha1\
crypto/sha256\
crypto/sha512\
crypto/subtle\
crypto/tls\
crypto/x509\
crypto/xtea\
debug/dwarf\
debug/macho\
debug/elf\
debug/gosym\
debug/proc\
ebnf\
encoding/ascii85\
encoding/base64\
encoding/binary\
encoding/git85\
encoding/hex\
encoding/pem\
exec\
exp/bignum\
exp/datafmt\
exp/draw\
exp/draw/x11\
exp/eval\
exp/iterable\
expvar\
flag\
fmt\
go/ast\
go/doc\
go/parser\
go/printer\
go/scanner\
go/token\
gob\
hash\
hash/adler32\
hash/crc32\
hash/crc64\
http\
http/pprof\
image\
image/jpeg\
image/png\
io\
io/ioutil\
json\
log\
math\
mime\
mime/multipart\
net\
netchan\
nntp\
once\
os\
os/signal\
patch\
path\
rand\
reflect\
regexp\
rpc\
rpc/jsonrpc\
runtime\
runtime/pprof\
scanner\
sort\
strconv\
strings\
sync\
syscall\
syslog\
tabwriter\
template\
testing\
testing/iotest\
testing/quick\
testing/script\
time\
unicode\
utf16\
utf8\
websocket\
xml\
NOTEST=\
debug/proc\
exp/draw/x11\
go/ast\
go/doc\
go/token\
hash\
http/pprof\
image\
image/jpeg\
rand\
runtime\
runtime/pprof\
syscall\
testing/iotest\
NOBENCH=\
container/vector\
# Disable tests that depend on an external network.
ifeq ($(DISABLE_NET_TESTS),1)
NOTEST+=http net
endif
# Disable tests that NaCl cannot run yet.
ifeq ($(GOOS),nacl)
NOTEST+=archive/tar # no pipe
NOTEST+=debug/dwarf # no pread
NOTEST+=debug/macho # no pread
NOTEST+=debug/elf # no pread
NOTEST+=exec # no pipe
NOTEST+=http # no network
NOTEST+=log # no runtime.Caller
NOTEST+=net # no network
NOTEST+=netchan # no network
NOTEST+=os # many things unimplemented
NOTEST+=os/signal # no signals
NOTEST+=path # tree walking does not work
NOTEST+=rpc # no network
NOTEST+=syslog # no network
NOTEST+=time # no syscall.Kill, syscall.SIGCHLD for sleep tests
NOTEST+=websocket # no network
endif
TEST=\
$(filter-out $(NOTEST),$(DIRS))
BENCH=\
$(filter-out $(NOBENCH),$(TEST))
clean.dirs: $(addsuffix .clean, $(DIRS))
install.dirs: $(addsuffix .install, $(DIRS))
nuke.dirs: $(addsuffix .nuke, $(DIRS))
test.dirs: $(addsuffix .test, $(TEST))
bench.dirs: $(addsuffix .bench, $(BENCH))
%.clean:
+cd $* && $(QUOTED_GOBIN)/gomake clean
%.install:
+cd $* && $(QUOTED_GOBIN)/gomake install
%.nuke:
+cd $* && $(QUOTED_GOBIN)/gomake nuke
%.test:
+cd $* && $(QUOTED_GOBIN)/gomake test
%.bench:
+cd $* && $(QUOTED_GOBIN)/gomake bench
clean: clean.dirs
install: install.dirs
test: test.dirs
bench: bench.dirs ../../test/garbage.bench
nuke: nuke.dirs
rm -rf "$(GOROOT)"/pkg/*
deps:
./deps.bash
-include Make.deps