Makefile 3.75 KB
Newer Older
Russ Cox's avatar
Russ Cox committed
1 2 3 4
# 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.

Russ Cox's avatar
Russ Cox committed
5 6 7
# After editing the DIRS= list or adding imports to any Go files
# in any of those directories, run:
#
8
#	./deps.bash
Russ Cox's avatar
Russ Cox committed
9 10 11
#
# to rebuild the dependency information in Make.deps.

12 13
include ../Make.inc

Russ Cox's avatar
Russ Cox committed
14 15 16
all: install

DIRS=\
David Symonds's avatar
David Symonds committed
17
	archive/tar\
18
	archive/zip\
Adam Langley's avatar
Adam Langley committed
19
	asn1\
20
	big\
21
	bufio\
Rob Pike's avatar
Rob Pike committed
22
	bytes\
Charles L. Dorian's avatar
Charles L. Dorian committed
23
	cmath\
Adam Langley's avatar
Adam Langley committed
24
	compress/bzip2\
Russ Cox's avatar
Russ Cox committed
25 26
	compress/flate\
	compress/gzip\
Nigel Tao's avatar
Nigel Tao committed
27
	compress/lzw \
Nigel Tao's avatar
Nigel Tao committed
28
	compress/zlib\
Robert Griesemer's avatar
Robert Griesemer committed
29
	container/heap\
David Symonds's avatar
David Symonds committed
30
	container/list\
31
	container/ring\
32
	container/vector\
Adam Langley's avatar
Adam Langley committed
33
	crypto\
Russ Cox's avatar
Russ Cox committed
34
	crypto/aes\
Raif S. Naffah's avatar
Raif S. Naffah committed
35
	crypto/blowfish\
Adam Langley's avatar
Adam Langley committed
36
	crypto/cast5\
Adam Langley's avatar
Adam Langley committed
37
	crypto/cipher\
Adam Langley's avatar
Adam Langley committed
38
	crypto/des\
Adam Langley's avatar
Adam Langley committed
39
	crypto/dsa\
Adam Langley's avatar
Adam Langley committed
40
	crypto/ecdsa\
Adam Langley's avatar
Adam Langley committed
41
	crypto/elliptic\
Rob Pike's avatar
Rob Pike committed
42
	crypto/hmac\
43
	crypto/md4\
Russ Cox's avatar
Russ Cox committed
44
	crypto/md5\
45
	crypto/ocsp\
Adam Langley's avatar
Adam Langley committed
46 47 48 49 50
	crypto/openpgp\
	crypto/openpgp/armor\
	crypto/openpgp/error\
	crypto/openpgp/packet\
	crypto/openpgp/s2k\
Russ Cox's avatar
Russ Cox committed
51
	crypto/rand\
Adam Langley's avatar
Adam Langley committed
52
	crypto/rc4\
Raif S. Naffah's avatar
Raif S. Naffah committed
53
	crypto/ripemd160\
Adam Langley's avatar
Adam Langley committed
54
	crypto/rsa\
Russ Cox's avatar
Russ Cox committed
55
	crypto/sha1\
Andy Davis's avatar
Andy Davis committed
56
	crypto/sha256\
Conrad Meyer's avatar
Conrad Meyer committed
57
	crypto/sha512\
58
	crypto/subtle\
Adam Langley's avatar
Adam Langley committed
59
	crypto/tls\
Berengar Lehr's avatar
Berengar Lehr committed
60
	crypto/twofish\
Adam Langley's avatar
Adam Langley committed
61
	crypto/x509\
62
	crypto/xtea\
Russ Cox's avatar
Russ Cox committed
63
	debug/dwarf\
Russ Cox's avatar
Russ Cox committed
64
	debug/macho\
Russ Cox's avatar
Russ Cox committed
65
	debug/elf\
66
	debug/gosym\
67
	debug/pe\
68
	debug/proc\
Robert Griesemer's avatar
Robert Griesemer committed
69
	ebnf\
Russ Cox's avatar
Russ Cox committed
70
	encoding/ascii85\
Miek Gieben's avatar
Miek Gieben committed
71
	encoding/base32\
Russ Cox's avatar
Russ Cox committed
72 73 74
	encoding/base64\
	encoding/binary\
	encoding/git85\
Adam Langley's avatar
Adam Langley committed
75
	encoding/hex\
Adam Langley's avatar
Adam Langley committed
76
	encoding/line\
Adam Langley's avatar
Adam Langley committed
77
	encoding/pem\
78
	exec\
Russ Cox's avatar
Russ Cox committed
79
	exp/datafmt\
80
	exp/draw\
81
	exp/draw/x11\
Russ Cox's avatar
Russ Cox committed
82
	exp/eval\
83
	expvar\
84
	flag\
Russ Cox's avatar
Russ Cox committed
85
	fmt\
86 87 88
	go/ast\
	go/doc\
	go/parser\
89
	go/printer\
90 91
	go/scanner\
	go/token\
92
	go/typechecker\
Rob Pike's avatar
Rob Pike committed
93
	gob\
Russ Cox's avatar
Russ Cox committed
94
	hash\
95 96
	hash/adler32\
	hash/crc32\
97
	hash/crc64\
98
	hash/fnv\
99
	html\
Russ Cox's avatar
Russ Cox committed
100
	http\
101
	http/cgi\
102
	http/pprof\
103
	http/httptest\
Nigel Tao's avatar
Nigel Tao committed
104
	image\
Nigel Tao's avatar
Nigel Tao committed
105
	image/jpeg\
Nigel Tao's avatar
Nigel Tao committed
106
	image/png\
107
	index/suffixarray\
108
	io\
109
	io/ioutil\
Russ Cox's avatar
Russ Cox committed
110
	json\
111
	log\
Russ Cox's avatar
Russ Cox committed
112
	math\
113
	mime\
114
	mime/multipart\
Russ Cox's avatar
Russ Cox committed
115
	net\
116 117
	net/dict\
	net/textproto\
118
	netchan\
Russ Cox's avatar
Russ Cox committed
119
	os\
David Symonds's avatar
David Symonds committed
120
	os/signal\
Russ Cox's avatar
Russ Cox committed
121
	patch\
122
	path\
123
	path/filepath\
124
	rand\
Russ Cox's avatar
Russ Cox committed
125 126
	reflect\
	regexp\
Rob Pike's avatar
Rob Pike committed
127
	rpc\
128
	rpc/jsonrpc\
129
	runtime\
130
	runtime/cgo\
Rob Pike's avatar
Rob Pike committed
131
	runtime/debug\
132
	runtime/pprof\
133
	scanner\
Evan Shaw's avatar
Evan Shaw committed
134
	smtp\
135
	sort\
Russ Cox's avatar
Russ Cox committed
136
	strconv\
137
	strings\
Russ Cox's avatar
Russ Cox committed
138
	sync\
Russ Cox's avatar
Russ Cox committed
139
	sync/atomic\
140
	syscall\
Yves Junqueira's avatar
Yves Junqueira committed
141
	syslog\
142
	tabwriter\
143
	template\
144
	testing\
Russ Cox's avatar
Russ Cox committed
145
	testing/iotest\
146
	testing/quick\
Adam Langley's avatar
Adam Langley committed
147
	testing/script\
Russ Cox's avatar
Russ Cox committed
148
	time\
Rob Pike's avatar
Rob Pike committed
149
	try\
Russ Cox's avatar
Russ Cox committed
150
	unicode\
Russ Cox's avatar
Russ Cox committed
151
	utf16\
Russ Cox's avatar
Russ Cox committed
152
	utf8\
153
	websocket\
Russ Cox's avatar
Russ Cox committed
154
	xml\
155 156 157
	../cmd/cgo\
	../cmd/ebnflint\
	../cmd/godoc\
158
	../cmd/gofix\
159 160
	../cmd/gofmt\
	../cmd/goinstall\
161 162
	../cmd/gotest\
	../cmd/gotype\
163
	../cmd/govet\
164 165
	../cmd/goyacc\
	../cmd/hgpatch\
Russ Cox's avatar
Russ Cox committed
166

Balazs Lecz's avatar
Balazs Lecz committed
167 168 169 170 171 172
ifeq ($(GOOS),linux)
DIRS+=\
	os/inotify\

endif

173
NOTEST+=\
Adam Langley's avatar
Adam Langley committed
174
	crypto\
Adam Langley's avatar
Adam Langley committed
175
	crypto/openpgp/error\
176
	debug/proc\
177
	exp/draw/x11\
178 179 180 181
	go/ast\
	go/doc\
	go/token\
	hash\
182
	http/pprof\
183
	http/httptest\
Nigel Tao's avatar
Nigel Tao committed
184
	image/jpeg\
185
	net/dict\
186
	rand\
187
	runtime/cgo\
188
	syscall\
Rob Pike's avatar
Rob Pike committed
189
	testing\
190
	testing/iotest\
Rob Pike's avatar
Rob Pike committed
191
	try\
192 193 194 195
	../cmd/cgo\
	../cmd/ebnflint\
	../cmd/godoc\
	../cmd/gofmt\
196
	../cmd/gotest\
197
	../cmd/govet\
198 199
	../cmd/goyacc\
	../cmd/hgpatch\
200

201
NOBENCH+=\
202 203
	container/vector\

204 205
# Disable tests that depend on an external network.
ifeq ($(DISABLE_NET_TESTS),1)
206
NOTEST+=net syslog
207
endif
208

209 210 211 212 213 214 215
# Disable tests that windows cannot run yet.
ifeq ($(GOOS),windows)
NOTEST+=os/signal    # no signals
NOTEST+=syslog       # no network
NOTEST+=time         # no syscall.Kill, syscall.SIGCHLD for sleep tests
endif

216 217 218 219 220 221
TEST=\
	$(filter-out $(NOTEST),$(DIRS))

BENCH=\
	$(filter-out $(NOBENCH),$(TEST))

222 223 224 225
clean.dirs: $(addsuffix .clean, $(DIRS))
install.dirs: $(addsuffix .install, $(DIRS))
nuke.dirs: $(addsuffix .nuke, $(DIRS))
test.dirs: $(addsuffix .test, $(TEST))
226
testshort.dirs: $(addsuffix .testshort, $(TEST))
227
bench.dirs: $(addsuffix .bench, $(BENCH))
Russ Cox's avatar
Russ Cox committed
228

Russ Cox's avatar
Russ Cox committed
229
%.clean:
230
	+$(MAKE) -C $* clean
Russ Cox's avatar
Russ Cox committed
231

232
%.install:
233
	+$(MAKE) -C $* install
Russ Cox's avatar
Russ Cox committed
234

235
%.nuke:
236
	+$(MAKE) -C $* nuke
Russ Cox's avatar
Russ Cox committed
237

238
%.test:
239
	+$(MAKE) -C $* test
Russ Cox's avatar
Russ Cox committed
240

241 242 243
%.testshort:
	+$(MAKE) -C $* testshort

244
%.bench:
245
	+$(MAKE) -C $* bench	
246

247
clean: clean.dirs
Russ Cox's avatar
Russ Cox committed
248

249
install: install.dirs
Russ Cox's avatar
Russ Cox committed
250

251
test:	test.dirs
Russ Cox's avatar
Russ Cox committed
252

253 254
testshort: testshort.dirs

255
bench:	bench.dirs ../../test/garbage.bench
256

257
nuke: nuke.dirs
258
	rm -rf "$(GOROOT)"/pkg/*
Russ Cox's avatar
Russ Cox committed
259

260 261
deps:
	./deps.bash
Russ Cox's avatar
Russ Cox committed
262

Balazs Lecz's avatar
Balazs Lecz committed
263 264 265
echo-dirs:
	@echo $(DIRS)

266
-include Make.deps
267

268
runtime/cgo.install: ../cmd/cgo.install