OSDN Git Service

runtime: Multiplex goroutines onto OS threads.
[pf3gnuchains/gcc-fork.git] / libgo / Makefile.am
1 # Makefile.am -- Go library Makefile.
2
3 # Copyright 2009 The Go Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style
5 # license that can be found in the LICENSE file.
6
7 # Process this file with autoreconf to produce Makefile.in.
8
9 # Go support.
10 SUFFIXES = .c .go .gox .o .obj .lo .a
11
12 if LIBGO_IS_RTEMS
13 subdirs = testsuite
14 endif
15
16 SUBDIRS = ${subdirs}
17
18 gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
19
20 MAINT_CHARSET = latin1
21
22 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
23 PWD_COMMAND = $${PWDCMD-pwd}
24 STAMP = echo timestamp >
25
26 toolexecdir = $(glibgo_toolexecdir)
27 toolexeclibdir = $(glibgo_toolexeclibdir)
28
29 LIBFFI = @LIBFFI@
30 LIBFFIINCS = @LIBFFIINCS@
31
32 WARN_CFLAGS = $(WARN_FLAGS) $(WERROR)
33
34 # -I/-D flags to pass when compiling.
35 AM_CPPFLAGS = -I $(srcdir)/runtime $(LIBFFIINCS) $(PTHREAD_CFLAGS)
36
37 ACLOCAL_AMFLAGS = -I ./config -I ../config
38
39 AM_CFLAGS = -fexceptions -fplan9-extensions $(SPLIT_STACK) $(WARN_CFLAGS) \
40         $(STRINGOPS_FLAG) \
41         -I $(srcdir)/../libgcc -I $(MULTIBUILDTOP)../../gcc/include
42
43 if USING_SPLIT_STACK
44 AM_LDFLAGS = -XCClinker $(SPLIT_STACK)
45 endif
46
47 # Multilib support.
48 MAKEOVERRIDES=
49
50 # Work around what appears to be a GNU make  handling MAKEFLAGS
51 # values defined in terms of make variables, as is the case for CC and
52 # friends when we are called from the top level Makefile.
53 AM_MAKEFLAGS = \
54         "AR_FLAGS=$(AR_FLAGS)" \
55         "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
56         "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
57         "CFLAGS=$(CFLAGS)" \
58         "CXXFLAGS=$(CXXFLAGS)" \
59         "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
60         "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
61         "GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \
62         "GOC=$(GOC)" \
63         "GOCFLAGS=$(GOCFLAGS)" \
64         "INSTALL=$(INSTALL)" \
65         "INSTALL_DATA=$(INSTALL_DATA)" \
66         "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
67         "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
68         "LDFLAGS=$(LDFLAGS)" \
69         "LIBCFLAGS=$(LIBCFLAGS)" \
70         "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
71         "MAKE=$(MAKE)" \
72         "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
73         "PICFLAG=$(PICFLAG)" \
74         "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
75         "SHELL=$(SHELL)" \
76         "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
77         "exec_prefix=$(exec_prefix)" \
78         "infodir=$(infodir)" \
79         "libdir=$(libdir)" \
80         "includedir=$(includedir)" \
81         "prefix=$(prefix)" \
82         "tooldir=$(tooldir)" \
83         "gxx_include_dir=$(gxx_include_dir)" \
84         "AR=$(AR)" \
85         "AS=$(AS)" \
86         "LD=$(LD)" \
87         "RANLIB=$(RANLIB)" \
88         "NM=$(NM)" \
89         "NM_FOR_BUILD=$(NM_FOR_BUILD)" \
90         "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
91         "DESTDIR=$(DESTDIR)" \
92         "WERROR=$(WERROR)"
93
94 # Subdir rules rely on $(FLAGS_TO_PASS)
95 FLAGS_TO_PASS = $(AM_MAKEFLAGS)
96
97 toolexeclib_LTLIBRARIES = libgo.la
98 toolexeclib_LIBRARIES = libgobegin.a
99
100 toolexeclibgodir = $(toolexeclibdir)/go/$(gcc_version)/$(target_alias)
101
102 toolexeclibgo_DATA = \
103         asn1.gox \
104         big.gox \
105         bufio.gox \
106         bytes.gox \
107         cmath.gox \
108         crypto.gox \
109         csv.gox \
110         exec.gox \
111         expvar.gox \
112         flag.gox \
113         fmt.gox \
114         gob.gox \
115         hash.gox \
116         html.gox \
117         http.gox \
118         image.gox \
119         io.gox \
120         json.gox \
121         log.gox \
122         math.gox \
123         mail.gox \
124         mime.gox \
125         net.gox \
126         os.gox \
127         patch.gox \
128         path.gox \
129         rand.gox \
130         reflect.gox \
131         regexp.gox \
132         rpc.gox \
133         runtime.gox \
134         scanner.gox \
135         smtp.gox \
136         sort.gox \
137         strconv.gox \
138         strings.gox \
139         sync.gox \
140         syscall.gox \
141         syslog.gox \
142         tabwriter.gox \
143         template.gox \
144         testing.gox \
145         time.gox \
146         unicode.gox \
147         url.gox \
148         utf16.gox \
149         utf8.gox \
150         websocket.gox \
151         xml.gox
152
153 toolexeclibgoarchivedir = $(toolexeclibgodir)/archive
154
155 toolexeclibgoarchive_DATA = \
156         archive/tar.gox \
157         archive/zip.gox
158
159 toolexeclibgocompressdir = $(toolexeclibgodir)/compress
160
161 toolexeclibgocompress_DATA = \
162         compress/bzip2.gox \
163         compress/flate.gox \
164         compress/gzip.gox \
165         compress/lzw.gox \
166         compress/zlib.gox
167
168 toolexeclibgocontainerdir = $(toolexeclibgodir)/container
169
170 toolexeclibgocontainer_DATA = \
171         container/heap.gox \
172         container/list.gox \
173         container/ring.gox
174
175 toolexeclibgocryptodir = $(toolexeclibgodir)/crypto
176
177 toolexeclibgocrypto_DATA = \
178         crypto/aes.gox \
179         crypto/bcrypt.gox \
180         crypto/blowfish.gox \
181         crypto/cast5.gox \
182         crypto/cipher.gox \
183         crypto/des.gox \
184         crypto/dsa.gox \
185         crypto/ecdsa.gox \
186         crypto/elliptic.gox \
187         crypto/hmac.gox \
188         crypto/md4.gox \
189         crypto/md5.gox \
190         crypto/ocsp.gox \
191         crypto/openpgp.gox \
192         crypto/rand.gox \
193         crypto/rc4.gox \
194         crypto/ripemd160.gox \
195         crypto/rsa.gox \
196         crypto/sha1.gox \
197         crypto/sha256.gox \
198         crypto/sha512.gox \
199         crypto/subtle.gox \
200         crypto/tls.gox \
201         crypto/twofish.gox \
202         crypto/x509.gox \
203         crypto/xtea.gox
204
205 toolexeclibgocryptoopenpgpdir = $(toolexeclibgocryptodir)/openpgp
206
207 toolexeclibgocryptoopenpgp_DATA = \
208         crypto/openpgp/armor.gox \
209         crypto/openpgp/elgamal.gox \
210         crypto/openpgp/error.gox \
211         crypto/openpgp/packet.gox \
212         crypto/openpgp/s2k.gox
213
214 toolexeclibgocryptox509dir = $(toolexeclibgocryptodir)/x509
215
216 toolexeclibgocryptox509_DATA = \
217         crypto/x509/pkix.gox
218
219 toolexeclibgodebugdir = $(toolexeclibgodir)/debug
220
221 toolexeclibgodebug_DATA = \
222         debug/dwarf.gox \
223         debug/elf.gox \
224         debug/gosym.gox \
225         debug/macho.gox \
226         debug/pe.gox
227
228 toolexeclibgoencodingdir = $(toolexeclibgodir)/encoding
229
230 toolexeclibgoencoding_DATA = \
231         encoding/ascii85.gox \
232         encoding/base32.gox \
233         encoding/base64.gox \
234         encoding/binary.gox \
235         encoding/git85.gox \
236         encoding/hex.gox \
237         encoding/pem.gox
238
239 toolexeclibgoexpdir = $(toolexeclibgodir)/exp
240
241 toolexeclibgoexp_DATA = \
242         exp/ebnf.gox \
243         exp/gui.gox \
244         exp/norm.gox \
245         exp/spdy.gox \
246         exp/sql.gox \
247         exp/ssh.gox \
248         exp/terminal.gox \
249         exp/types.gox
250
251 toolexeclibgoexpguidir = $(toolexeclibgoexpdir)/gui
252
253 toolexeclibgoexpgui_DATA = \
254         exp/gui/x11.gox
255
256 toolexeclibgoexpsqldir = $(toolexeclibgoexpdir)/sql
257
258 toolexeclibgoexpsql_DATA = \
259         exp/sql/driver.gox
260
261 toolexeclibgoexptemplatedir = $(toolexeclibgoexpdir)/template
262
263 toolexeclibgoexptemplate_DATA = \
264         exp/template/html.gox
265
266 toolexeclibgogodir = $(toolexeclibgodir)/go
267
268 toolexeclibgogo_DATA = \
269         go/ast.gox \
270         go/build.gox \
271         go/doc.gox \
272         go/parser.gox \
273         go/printer.gox \
274         go/scanner.gox \
275         go/token.gox
276
277 toolexeclibgohashdir = $(toolexeclibgodir)/hash
278
279 toolexeclibgohash_DATA = \
280         hash/adler32.gox \
281         hash/crc32.gox \
282         hash/crc64.gox \
283         hash/fnv.gox
284
285 toolexeclibgohttpdir = $(toolexeclibgodir)/http
286
287 toolexeclibgohttp_DATA = \
288         http/cgi.gox \
289         http/fcgi.gox \
290         http/httptest.gox \
291         http/pprof.gox
292
293 toolexeclibgoimagedir = $(toolexeclibgodir)/image
294
295 toolexeclibgoimage_DATA = \
296         image/bmp.gox \
297         image/color.gox \
298         image/draw.gox \
299         image/gif.gox \
300         image/jpeg.gox \
301         image/png.gox \
302         image/tiff.gox \
303         image/ycbcr.gox
304
305 toolexeclibgoindexdir = $(toolexeclibgodir)/index
306
307 toolexeclibgoindex_DATA = \
308         index/suffixarray.gox
309
310 toolexeclibgoiodir = $(toolexeclibgodir)/io
311
312 toolexeclibgoio_DATA = \
313         io/ioutil.gox
314
315 toolexeclibgomimedir = $(toolexeclibgodir)/mime
316
317 toolexeclibgomime_DATA = \
318         mime/multipart.gox
319
320 toolexeclibgonetdir = $(toolexeclibgodir)/net
321
322 toolexeclibgonet_DATA = \
323         net/dict.gox \
324         net/textproto.gox
325
326 toolexeclibgoolddir = $(toolexeclibgodir)/old
327
328 toolexeclibgoold_DATA = \
329         old/netchan.gox \
330         old/regexp.gox \
331         old/template.gox
332
333 toolexeclibgoosdir = $(toolexeclibgodir)/os
334
335 if LIBGO_IS_LINUX
336 # os_inotify_gox = os/inotify.gox
337 os_inotify_gox =
338 else
339 os_inotify_gox =
340 endif
341
342 toolexeclibgoos_DATA = \
343         $(os_inotify_gox) \
344         os/user.gox \
345         os/signal.gox
346
347 toolexeclibgopathdir = $(toolexeclibgodir)/path
348
349 toolexeclibgopath_DATA = \
350         path/filepath.gox
351
352 toolexeclibgoregexpdir = $(toolexeclibgodir)/regexp
353
354 toolexeclibgoregexp_DATA = \
355         regexp/syntax.gox
356
357 toolexeclibgorpcdir = $(toolexeclibgodir)/rpc
358
359 toolexeclibgorpc_DATA = \
360         rpc/jsonrpc.gox
361
362 toolexeclibgoruntimedir = $(toolexeclibgodir)/runtime
363
364 toolexeclibgoruntime_DATA = \
365         runtime/debug.gox \
366         runtime/pprof.gox
367
368 toolexeclibgotemplatedir = $(toolexeclibgodir)/template
369
370 toolexeclibgotemplate_DATA = \
371         template/parse.gox
372
373 toolexeclibgosyncdir = $(toolexeclibgodir)/sync
374
375 toolexeclibgosync_DATA = \
376         sync/atomic.gox
377
378 toolexeclibgotestingdir = $(toolexeclibgodir)/testing
379
380 toolexeclibgotesting_DATA = \
381         testing/iotest.gox \
382         testing/quick.gox \
383         testing/script.gox
384
385 if HAVE_SYS_MMAN_H
386 runtime_mem_file = runtime/mem.c
387 else
388 runtime_mem_file = runtime/mem_posix_memalign.c
389 endif
390
391 if LIBGO_IS_RTEMS
392 rtems_task_variable_add_file = runtime/rtems-task-variable-add.c
393 else
394 rtems_task_variable_add_file =
395 endif
396
397 if LIBGO_IS_LINUX
398 runtime_lock_files = runtime/lock_futex.c runtime/thread-linux.c
399 else
400 runtime_lock_files = runtime/lock_sema.c runtime/thread-sema.c
401 endif
402
403 runtime_files = \
404         runtime/go-append.c \
405         runtime/go-assert.c \
406         runtime/go-assert-interface.c \
407         runtime/go-byte-array-to-string.c \
408         runtime/go-breakpoint.c \
409         runtime/go-caller.c \
410         runtime/go-can-convert-interface.c \
411         runtime/go-cgo.c \
412         runtime/go-chan-cap.c \
413         runtime/go-chan-len.c \
414         runtime/go-check-interface.c \
415         runtime/go-close.c \
416         runtime/go-construct-map.c \
417         runtime/go-convert-interface.c \
418         runtime/go-copy.c \
419         runtime/go-defer.c \
420         runtime/go-deferred-recover.c \
421         runtime/go-eface-compare.c \
422         runtime/go-eface-val-compare.c \
423         runtime/go-getgoroot.c \
424         runtime/go-int-array-to-string.c \
425         runtime/go-int-to-string.c \
426         runtime/go-interface-compare.c \
427         runtime/go-interface-eface-compare.c \
428         runtime/go-interface-val-compare.c \
429         runtime/go-make-slice.c \
430         runtime/go-map-delete.c \
431         runtime/go-map-index.c \
432         runtime/go-map-len.c \
433         runtime/go-map-range.c \
434         runtime/go-nanotime.c \
435         runtime/go-new-channel.c \
436         runtime/go-new-map.c \
437         runtime/go-new.c \
438         runtime/go-panic.c \
439         runtime/go-print.c \
440         runtime/go-rec-big.c \
441         runtime/go-rec-nb-big.c \
442         runtime/go-rec-nb-small.c \
443         runtime/go-rec-small.c \
444         runtime/go-recover.c \
445         runtime/go-reflect.c \
446         runtime/go-reflect-call.c \
447         runtime/go-reflect-chan.c \
448         runtime/go-reflect-map.c \
449         runtime/go-rune.c \
450         runtime/go-runtime-error.c \
451         runtime/go-select.c \
452         runtime/go-send-big.c \
453         runtime/go-send-nb-big.c \
454         runtime/go-send-nb-small.c \
455         runtime/go-send-small.c \
456         runtime/go-setenv.c \
457         runtime/go-signal.c \
458         runtime/go-strcmp.c \
459         runtime/go-string-to-byte-array.c \
460         runtime/go-string-to-int-array.c \
461         runtime/go-strplus.c \
462         runtime/go-strslice.c \
463         runtime/go-trampoline.c \
464         runtime/go-type-eface.c \
465         runtime/go-type-error.c \
466         runtime/go-type-identity.c \
467         runtime/go-type-interface.c \
468         runtime/go-type-string.c \
469         runtime/go-typedesc-equal.c \
470         runtime/go-typestring.c \
471         runtime/go-unreflect.c \
472         runtime/go-unsafe-new.c \
473         runtime/go-unsafe-newarray.c \
474         runtime/go-unsafe-pointer.c \
475         runtime/go-unwind.c \
476         runtime/cpuprof.c \
477         $(runtime_lock_files) \
478         runtime/mcache.c \
479         runtime/mcentral.c \
480         $(runtime_mem_file) \
481         runtime/mfinal.c \
482         runtime/mfixalloc.c \
483         runtime/mgc0.c \
484         runtime/mheap.c \
485         runtime/msize.c \
486         runtime/proc.c \
487         runtime/runtime.c \
488         runtime/thread.c \
489         runtime/yield.c \
490         $(rtems_task_variable_add_file) \
491         chan.c \
492         iface.c \
493         malloc.c \
494         map.c \
495         mprof.c \
496         reflect.c \
497         runtime1.c \
498         sema.c \
499         sigqueue.c \
500         string.c
501
502 goc2c.$(OBJEXT): runtime/goc2c.c
503         $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) $<
504
505 goc2c: goc2c.$(OBJEXT)
506         $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ $<
507
508 malloc.c: $(srcdir)/runtime/malloc.goc goc2c
509         ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
510         mv -f $@.tmp $@
511
512 mprof.c: $(srcdir)/runtime/mprof.goc goc2c
513         ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
514         mv -f $@.tmp $@
515
516 reflect.c: $(srcdir)/runtime/reflect.goc goc2c
517         ./goc2c --gcc --go-prefix libgo_reflect $< > $@.tmp
518         mv -f $@.tmp $@
519
520 runtime1.c: $(srcdir)/runtime/runtime1.goc goc2c
521         ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
522         mv -f $@.tmp $@
523
524 sema.c: $(srcdir)/runtime/sema.goc goc2c
525         ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
526         mv -f $@.tmp $@
527
528 sigqueue.c: $(srcdir)/runtime/sigqueue.goc goc2c
529         ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
530         mv -f $@.tmp $@
531
532 %.c: $(srcdir)/runtime/%.goc goc2c
533         ./goc2c --gcc $< > $@.tmp
534         mv -f $@.tmp $@
535
536 go_asn1_files = \
537         go/asn1/asn1.go \
538         go/asn1/common.go \
539         go/asn1/marshal.go
540
541 go_big_files = \
542         go/big/arith.go \
543         go/big/int.go \
544         go/big/nat.go \
545         go/big/rat.go
546
547 go_bufio_files = \
548         go/bufio/bufio.go
549
550 go_bytes_files = \
551         go/bytes/buffer.go \
552         go/bytes/bytes.go \
553         go/bytes/bytes_decl.go
554 go_bytes_c_files = \
555         go/bytes/indexbyte.c
556
557 go_cmath_files = \
558         go/cmath/abs.go \
559         go/cmath/asin.go \
560         go/cmath/conj.go \
561         go/cmath/exp.go \
562         go/cmath/isinf.go \
563         go/cmath/isnan.go \
564         go/cmath/log.go \
565         go/cmath/phase.go \
566         go/cmath/polar.go \
567         go/cmath/pow.go \
568         go/cmath/rect.go \
569         go/cmath/sin.go \
570         go/cmath/sqrt.go \
571         go/cmath/tan.go
572
573 go_crypto_files = \
574         go/crypto/crypto.go
575
576 go_csv_files = \
577         go/csv/reader.go \
578         go/csv/writer.go
579
580 go_exec_files = \
581         go/exec/exec.go \
582         go/exec/lp_unix.go
583
584 go_expvar_files = \
585         go/expvar/expvar.go
586
587 go_flag_files = \
588         go/flag/flag.go
589
590 go_fmt_files = \
591         go/fmt/doc.go \
592         go/fmt/format.go \
593         go/fmt/print.go \
594         go/fmt/scan.go
595
596 go_gob_files = \
597         go/gob/decode.go \
598         go/gob/decoder.go \
599         go/gob/doc.go \
600         go/gob/encode.go \
601         go/gob/encoder.go \
602         go/gob/error.go \
603         go/gob/type.go
604
605 go_hash_files = \
606         go/hash/hash.go
607
608 go_html_files = \
609         go/html/const.go \
610         go/html/doc.go \
611         go/html/entity.go \
612         go/html/escape.go \
613         go/html/node.go \
614         go/html/parse.go \
615         go/html/render.go \
616         go/html/token.go
617
618 go_http_files = \
619         go/http/chunked.go \
620         go/http/client.go \
621         go/http/cookie.go \
622         go/http/dump.go \
623         go/http/filetransport.go \
624         go/http/fs.go \
625         go/http/header.go \
626         go/http/lex.go \
627         go/http/persist.go \
628         go/http/request.go \
629         go/http/response.go \
630         go/http/reverseproxy.go \
631         go/http/server.go \
632         go/http/sniff.go \
633         go/http/status.go \
634         go/http/transfer.go \
635         go/http/transport.go
636
637 go_image_files = \
638         go/image/format.go \
639         go/image/geom.go \
640         go/image/image.go \
641         go/image/names.go
642
643 go_io_files = \
644         go/io/multi.go \
645         go/io/io.go \
646         go/io/pipe.go
647
648 go_json_files = \
649         go/json/decode.go \
650         go/json/encode.go \
651         go/json/indent.go \
652         go/json/scanner.go \
653         go/json/stream.go \
654         go/json/tags.go
655
656 go_log_files = \
657         go/log/log.go
658
659 go_math_files = \
660         go/math/abs.go \
661         go/math/acosh.go \
662         go/math/asin.go \
663         go/math/asinh.go \
664         go/math/atan.go \
665         go/math/atanh.go \
666         go/math/atan2.go \
667         go/math/bits.go \
668         go/math/cbrt.go \
669         go/math/const.go \
670         go/math/copysign.go \
671         go/math/dim.go \
672         go/math/erf.go \
673         go/math/exp.go \
674         go/math/exp_port.go \
675         go/math/exp2.go \
676         go/math/expm1.go \
677         go/math/floor.go \
678         go/math/frexp.go \
679         go/math/gamma.go \
680         go/math/hypot.go \
681         go/math/hypot_port.go \
682         go/math/j0.go \
683         go/math/j1.go \
684         go/math/jn.go \
685         go/math/ldexp.go \
686         go/math/lgamma.go \
687         go/math/log.go \
688         go/math/log1p.go \
689         go/math/log10.go \
690         go/math/logb.go \
691         go/math/mod.go \
692         go/math/modf.go \
693         go/math/nextafter.go \
694         go/math/pow.go \
695         go/math/pow10.go \
696         go/math/remainder.go \
697         go/math/signbit.go \
698         go/math/sin.go \
699         go/math/sincos.go \
700         go/math/sinh.go \
701         go/math/sqrt.go \
702         go/math/sqrt_port.go \
703         go/math/tan.go \
704         go/math/tanh.go \
705         go/math/unsafe.go
706
707 go_mail_files = \
708         go/mail/message.go
709
710 go_mime_files = \
711         go/mime/grammar.go \
712         go/mime/mediatype.go \
713         go/mime/type.go
714
715 if LIBGO_IS_RTEMS
716 go_net_fd_os_file = go/net/fd_select.go
717 go_net_newpollserver_file = go/net/newpollserver_rtems.go
718 else # !LIBGO_IS_RTEMS
719 if LIBGO_IS_LINUX
720 go_net_fd_os_file = go/net/fd_linux.go
721 go_net_newpollserver_file = go/net/newpollserver.go
722 else # !LIBGO_IS_LINUX && !LIBGO_IS_RTEMS
723 # By default use select with pipes.  Most systems should have
724 # something better.
725 go_net_fd_os_file = go/net/fd_select.go
726 go_net_newpollserver_file = go/net/newpollserver.go
727 endif # !LIBGO_IS_LINUX
728 endif # !LIBGO_IS_RTEMS
729
730 if LIBGO_IS_LINUX
731 go_net_cgo_file = go/net/cgo_linux.go
732 go_net_sock_file = go/net/sock_linux.go
733 else
734 if LIBGO_IS_IRIX
735 go_net_cgo_file = go/net/cgo_linux.go
736 go_net_sock_file = go/net/sock_linux.go
737 else
738 if LIBGO_IS_SOLARIS
739 go_net_cgo_file = go/net/cgo_linux.go
740 go_net_sock_file = go/net/sock_linux.go
741 else
742 go_net_cgo_file = go/net/cgo_bsd.go
743 go_net_sock_file = go/net/sock_bsd.go
744 endif
745 endif
746 endif
747
748 if LIBGO_IS_LINUX
749 go_net_sendfile_file = go/net/sendfile_linux.go
750 else
751 go_net_sendfile_file = go/net/sendfile_stub.go
752 endif
753
754 if LIBGO_IS_LINUX
755 go_net_interface_file = go/net/interface_linux.go
756 else
757 go_net_interface_file = go/net/interface_stub.go
758 endif
759
760 go_net_files = \
761         go/net/cgo_unix.go \
762         $(go_net_cgo_file) \
763         go/net/dial.go \
764         go/net/dnsclient.go \
765         go/net/dnsclient_unix.go \
766         go/net/dnsconfig.go \
767         go/net/dnsmsg.go \
768         $(go_net_newpollserver_file) \
769         go/net/fd.go \
770         $(go_net_fd_os_file) \
771         go/net/file.go \
772         go/net/hosts.go \
773         go/net/interface.go \
774         $(go_net_interface_file) \
775         go/net/ip.go \
776         go/net/iprawsock.go \
777         go/net/iprawsock_posix.go \
778         go/net/ipsock.go \
779         go/net/ipsock_posix.go \
780         go/net/lookup_unix.go \
781         go/net/net.go \
782         go/net/parse.go \
783         go/net/pipe.go \
784         go/net/port.go \
785         $(go_net_sendfile_file) \
786         go/net/sock.go \
787         $(go_net_sock_file) \
788         go/net/tcpsock.go \
789         go/net/tcpsock_posix.go \
790         go/net/udpsock.go \
791         go/net/udpsock_posix.go \
792         go/net/unixsock.go \
793         go/net/unixsock_posix.go
794
795 if LIBGO_IS_SOLARIS
796 if LIBGO_IS_386
797 go_os_dir_file = go/os/dir_largefile.go
798 else
799 if LIBGO_IS_SPARC
800 go_os_dir_file = go/os/dir_largefile.go
801 else
802 go_os_dir_file = go/os/dir_regfile.go
803 endif
804 endif
805 else
806 if LIBGO_IS_LINUX
807 go_os_dir_file = go/os/dir_largefile.go
808 else
809 go_os_dir_file = go/os/dir_regfile.go
810 endif
811 endif
812
813 if LIBGO_IS_LINUX
814 go_os_sys_file = go/os/sys_linux.go
815 else
816 if LIBGO_IS_SOLARIS
817 go_os_sys_file = go/os/sys_uname.go
818 else
819 if LIBGO_IS_IRIX
820 go_os_sys_file = go/os/sys_uname.go
821 else
822 if LIBGO_IS_RTEMS
823 go_os_sys_file = go/os/sys_uname.go
824 else
825 go_os_sys_file = go/os/sys_bsd.go
826 endif
827 endif
828 endif
829 endif
830
831 go_os_files = \
832         $(go_os_dir_file) \
833         go/os/dir.go \
834         go/os/env.go \
835         go/os/env_unix.go \
836         go/os/error.go \
837         go/os/error_posix.go \
838         go/os/exec.go \
839         go/os/exec_posix.go \
840         go/os/exec_unix.go \
841         go/os/file.go \
842         go/os/file_posix.go \
843         go/os/file_unix.go \
844         go/os/getwd.go \
845         go/os/path.go \
846         go/os/path_unix.go \
847         go/os/proc.go \
848         go/os/stat.go \
849         go/os/str.go \
850         $(go_os_sys_file) \
851         go/os/time.go \
852         go/os/types.go \
853         signal_unix.go
854
855 go_patch_files = \
856         go/patch/apply.go \
857         go/patch/git.go \
858         go/patch/patch.go \
859         go/patch/textdiff.go
860
861 go_path_files = \
862         go/path/match.go \
863         go/path/path.go
864
865 go_rand_files = \
866         go/rand/exp.go \
867         go/rand/normal.go \
868         go/rand/rand.go \
869         go/rand/rng.go \
870         go/rand/zipf.go
871
872 go_reflect_files = \
873         go/reflect/deepequal.go \
874         go/reflect/type.go \
875         go/reflect/value.go
876
877 go_regexp_files = \
878         go/regexp/exec.go \
879         go/regexp/regexp.go
880
881 go_rpc_files = \
882         go/rpc/client.go \
883         go/rpc/debug.go \
884         go/rpc/server.go
885
886 go_runtime_files = \
887         go/runtime/debug.go \
888         go/runtime/error.go \
889         go/runtime/extern.go \
890         go/runtime/mem.go \
891         go/runtime/sig.go \
892         go/runtime/softfloat64.go \
893         go/runtime/type.go \
894         version.go
895
896 version.go: s-version; @true
897 s-version: Makefile
898         rm -f version.go.tmp
899         echo "package runtime" > version.go.tmp
900         echo 'const defaultGoroot = "$(prefix)"' >> version.go.tmp
901         echo 'const theVersion = "'`$(CC) --version | sed 1q`'"' >> version.go.tmp
902         echo 'const theGoarch = "'$(GOARCH)'"' >> version.go.tmp
903         echo 'const theGoos = "'$(GOOS)'"' >> version.go.tmp
904         $(SHELL) $(srcdir)/../move-if-change version.go.tmp version.go
905         $(STAMP) $@
906
907 go_scanner_files = \
908         go/scanner/scanner.go
909
910 go_smtp_files = \
911         go/smtp/auth.go \
912         go/smtp/smtp.go
913
914 go_sort_files = \
915         go/sort/search.go \
916         go/sort/sort.go
917
918 go_strconv_files = \
919         go/strconv/atob.go \
920         go/strconv/atof.go \
921         go/strconv/atoi.go \
922         go/strconv/decimal.go \
923         go/strconv/ftoa.go \
924         go/strconv/itoa.go \
925         go/strconv/quote.go
926
927 go_strings_files = \
928         go/strings/reader.go \
929         go/strings/replace.go \
930         go/strings/strings.go
931
932 go_sync_files = \
933         go/sync/cond.go \
934         go/sync/mutex.go \
935         go/sync/once.go \
936         go/sync/rwmutex.go \
937         go/sync/waitgroup.go
938
939 if LIBGO_IS_SOLARIS
940 go_syslog_file = go/syslog/syslog_libc.go
941 else
942 if LIBGO_IS_IRIX
943 go_syslog_file = go/syslog/syslog_libc.go
944 else
945 go_syslog_file = go/syslog/syslog_unix.go
946 endif
947 endif
948
949 go_syslog_files = \
950         go/syslog/syslog.go \
951         $(go_syslog_file)
952 go_syslog_c_files = \
953         go/syslog/syslog_c.c
954
955 go_tabwriter_files = \
956         go/tabwriter/tabwriter.go
957
958 go_template_files = \
959         go/template/doc.go \
960         go/template/exec.go \
961         go/template/funcs.go \
962         go/template/helper.go \
963         go/template/parse.go \
964         go/template/set.go
965
966 go_testing_files = \
967         go/testing/benchmark.go \
968         go/testing/example.go \
969         go/testing/testing.go
970
971 go_time_files = \
972         go/time/format.go \
973         go/time/sleep.go \
974         go/time/sys.go \
975         go/time/sys_unix.go \
976         go/time/tick.go \
977         go/time/time.go \
978         go/time/zoneinfo_posix.go \
979         go/time/zoneinfo_unix.go
980
981 go_unicode_files = \
982         go/unicode/casetables.go \
983         go/unicode/digit.go \
984         go/unicode/graphic.go \
985         go/unicode/letter.go \
986         go/unicode/tables.go
987
988 go_url_files = \
989         go/url/url.go
990
991 go_utf16_files = \
992         go/utf16/utf16.go
993
994 go_utf8_files = \
995         go/utf8/string.go \
996         go/utf8/utf8.go
997
998 go_websocket_files = \
999         go/websocket/client.go \
1000         go/websocket/hixie.go \
1001         go/websocket/hybi.go \
1002         go/websocket/server.go \
1003         go/websocket/websocket.go
1004
1005 go_xml_files = \
1006         go/xml/marshal.go \
1007         go/xml/read.go \
1008         go/xml/xml.go
1009
1010 go_archive_tar_files = \
1011         go/archive/tar/common.go \
1012         go/archive/tar/reader.go \
1013         go/archive/tar/writer.go
1014
1015 go_archive_zip_files = \
1016         go/archive/zip/reader.go \
1017         go/archive/zip/struct.go \
1018         go/archive/zip/writer.go
1019
1020 go_compress_bzip2_files = \
1021         go/compress/bzip2/bit_reader.go \
1022         go/compress/bzip2/bzip2.go \
1023         go/compress/bzip2/huffman.go \
1024         go/compress/bzip2/move_to_front.go
1025
1026 go_compress_flate_files = \
1027         go/compress/flate/deflate.go \
1028         go/compress/flate/huffman_bit_writer.go \
1029         go/compress/flate/huffman_code.go \
1030         go/compress/flate/inflate.go \
1031         go/compress/flate/reverse_bits.go \
1032         go/compress/flate/token.go \
1033         go/compress/flate/util.go
1034
1035 go_compress_gzip_files = \
1036         go/compress/gzip/gzip.go \
1037         go/compress/gzip/gunzip.go
1038
1039 go_compress_lzw_files = \
1040         go/compress/lzw/reader.go \
1041         go/compress/lzw/writer.go
1042
1043 go_compress_zlib_files = \
1044         go/compress/zlib/reader.go \
1045         go/compress/zlib/writer.go
1046
1047 go_container_heap_files = \
1048         go/container/heap/heap.go
1049
1050 go_container_list_files = \
1051         go/container/list/list.go
1052
1053 go_container_ring_files = \
1054         go/container/ring/ring.go
1055
1056 go_crypto_aes_files = \
1057         go/crypto/aes/block.go \
1058         go/crypto/aes/cipher.go \
1059         go/crypto/aes/const.go
1060 go_crypto_bcrypt_files = \
1061         go/crypto/bcrypt/base64.go \
1062         go/crypto/bcrypt/bcrypt.go
1063 go_crypto_blowfish_files = \
1064         go/crypto/blowfish/block.go \
1065         go/crypto/blowfish/const.go \
1066         go/crypto/blowfish/cipher.go
1067 go_crypto_cast5_files = \
1068         go/crypto/cast5/cast5.go
1069 go_crypto_cipher_files = \
1070         go/crypto/cipher/cbc.go \
1071         go/crypto/cipher/cfb.go \
1072         go/crypto/cipher/cipher.go \
1073         go/crypto/cipher/ctr.go \
1074         go/crypto/cipher/io.go \
1075         go/crypto/cipher/ocfb.go \
1076         go/crypto/cipher/ofb.go
1077 go_crypto_des_files = \
1078         go/crypto/des/block.go \
1079         go/crypto/des/cipher.go \
1080         go/crypto/des/const.go
1081 go_crypto_dsa_files = \
1082         go/crypto/dsa/dsa.go
1083 go_crypto_ecdsa_files = \
1084         go/crypto/ecdsa/ecdsa.go
1085 go_crypto_elliptic_files = \
1086         go/crypto/elliptic/elliptic.go
1087 go_crypto_hmac_files = \
1088         go/crypto/hmac/hmac.go
1089 go_crypto_md4_files = \
1090         go/crypto/md4/md4.go \
1091         go/crypto/md4/md4block.go
1092 go_crypto_md5_files = \
1093         go/crypto/md5/md5.go \
1094         go/crypto/md5/md5block.go
1095 go_crypto_ocsp_files = \
1096         go/crypto/ocsp/ocsp.go
1097 go_crypto_openpgp_files = \
1098         go/crypto/openpgp/canonical_text.go \
1099         go/crypto/openpgp/keys.go \
1100         go/crypto/openpgp/read.go \
1101         go/crypto/openpgp/write.go
1102 go_crypto_rand_files = \
1103         go/crypto/rand/rand.go \
1104         go/crypto/rand/rand_unix.go \
1105         go/crypto/rand/util.go
1106 go_crypto_rc4_files = \
1107         go/crypto/rc4/rc4.go
1108 go_crypto_ripemd160_files = \
1109         go/crypto/ripemd160/ripemd160.go \
1110         go/crypto/ripemd160/ripemd160block.go
1111 go_crypto_rsa_files = \
1112         go/crypto/rsa/pkcs1v15.go \
1113         go/crypto/rsa/rsa.go
1114 go_crypto_sha1_files = \
1115         go/crypto/sha1/sha1.go \
1116         go/crypto/sha1/sha1block.go
1117 go_crypto_sha256_files = \
1118         go/crypto/sha256/sha256.go \
1119         go/crypto/sha256/sha256block.go
1120 go_crypto_sha512_files = \
1121         go/crypto/sha512/sha512.go \
1122         go/crypto/sha512/sha512block.go
1123 go_crypto_subtle_files = \
1124         go/crypto/subtle/constant_time.go
1125 go_crypto_tls_files = \
1126         go/crypto/tls/alert.go \
1127         go/crypto/tls/cipher_suites.go \
1128         go/crypto/tls/common.go \
1129         go/crypto/tls/conn.go \
1130         go/crypto/tls/handshake_client.go \
1131         go/crypto/tls/handshake_messages.go \
1132         go/crypto/tls/handshake_server.go \
1133         go/crypto/tls/key_agreement.go \
1134         go/crypto/tls/prf.go \
1135         go/crypto/tls/root_unix.go \
1136         go/crypto/tls/tls.go
1137 go_crypto_twofish_files = \
1138         go/crypto/twofish/twofish.go
1139 go_crypto_x509_files = \
1140         go/crypto/x509/cert_pool.go \
1141         go/crypto/x509/pkcs1.go \
1142         go/crypto/x509/verify.go \
1143         go/crypto/x509/x509.go
1144 go_crypto_xtea_files = \
1145         go/crypto/xtea/block.go \
1146         go/crypto/xtea/cipher.go
1147
1148 go_crypto_openpgp_armor_files = \
1149         go/crypto/openpgp/armor/armor.go \
1150         go/crypto/openpgp/armor/encode.go
1151 go_crypto_openpgp_elgamal_files = \
1152         go/crypto/openpgp/elgamal/elgamal.go
1153 go_crypto_openpgp_error_files = \
1154         go/crypto/openpgp/error/error.go
1155 go_crypto_openpgp_packet_files = \
1156         go/crypto/openpgp/packet/compressed.go \
1157         go/crypto/openpgp/packet/encrypted_key.go \
1158         go/crypto/openpgp/packet/literal.go \
1159         go/crypto/openpgp/packet/one_pass_signature.go \
1160         go/crypto/openpgp/packet/packet.go \
1161         go/crypto/openpgp/packet/private_key.go \
1162         go/crypto/openpgp/packet/public_key.go \
1163         go/crypto/openpgp/packet/reader.go \
1164         go/crypto/openpgp/packet/signature.go \
1165         go/crypto/openpgp/packet/symmetric_key_encrypted.go \
1166         go/crypto/openpgp/packet/symmetrically_encrypted.go \
1167         go/crypto/openpgp/packet/userid.go
1168 go_crypto_openpgp_s2k_files = \
1169         go/crypto/openpgp/s2k/s2k.go
1170
1171 go_crypto_x509_pkix_files = \
1172         go/crypto/x509/pkix/pkix.go
1173
1174 go_debug_dwarf_files = \
1175         go/debug/dwarf/buf.go \
1176         go/debug/dwarf/const.go \
1177         go/debug/dwarf/entry.go \
1178         go/debug/dwarf/open.go \
1179         go/debug/dwarf/type.go \
1180         go/debug/dwarf/unit.go
1181 go_debug_elf_files = \
1182         go/debug/elf/elf.go \
1183         go/debug/elf/file.go
1184 go_debug_gosym_files = \
1185         go/debug/gosym/pclntab.go \
1186         go/debug/gosym/symtab.go
1187 go_debug_macho_files = \
1188         go/debug/macho/file.go \
1189         go/debug/macho/macho.go
1190 go_debug_pe_files = \
1191         go/debug/pe/file.go \
1192         go/debug/pe/pe.go
1193
1194 go_encoding_ascii85_files = \
1195         go/encoding/ascii85/ascii85.go
1196 go_encoding_base32_files = \
1197         go/encoding/base32/base32.go
1198 go_encoding_base64_files = \
1199         go/encoding/base64/base64.go
1200 go_encoding_binary_files = \
1201         go/encoding/binary/binary.go \
1202         go/encoding/binary/varint.go
1203 go_encoding_git85_files = \
1204         go/encoding/git85/git.go
1205 go_encoding_hex_files = \
1206         go/encoding/hex/hex.go
1207 go_encoding_pem_files = \
1208         go/encoding/pem/pem.go
1209
1210 go_exp_ebnf_files = \
1211         go/exp/ebnf/ebnf.go \
1212         go/exp/ebnf/parser.go
1213 go_exp_gui_files = \
1214         go/exp/gui/gui.go
1215 go_exp_norm_files = \
1216         go/exp/norm/composition.go \
1217         go/exp/norm/forminfo.go \
1218         go/exp/norm/input.go \
1219         go/exp/norm/normalize.go \
1220         go/exp/norm/readwriter.go \
1221         go/exp/norm/tables.go \
1222         go/exp/norm/trie.go
1223 go_exp_spdy_files = \
1224         go/exp/spdy/read.go \
1225         go/exp/spdy/types.go \
1226         go/exp/spdy/write.go
1227 go_exp_sql_files = \
1228         go/exp/sql/convert.go \
1229         go/exp/sql/sql.go
1230 go_exp_ssh_files = \
1231         go/exp/ssh/channel.go \
1232         go/exp/ssh/common.go \
1233         go/exp/ssh/doc.go \
1234         go/exp/ssh/messages.go \
1235         go/exp/ssh/server.go \
1236         go/exp/ssh/server_shell.go \
1237         go/exp/ssh/transport.go
1238 go_exp_terminal_files = \
1239         go/exp/terminal/shell.go \
1240         go/exp/terminal/terminal.go
1241 go_exp_types_files = \
1242         go/exp/types/check.go \
1243         go/exp/types/const.go \
1244         go/exp/types/exportdata.go \
1245         go/exp/types/gcimporter.go \
1246         go/exp/types/types.go \
1247         go/exp/types/universe.go
1248
1249 go_exp_gui_x11_files = \
1250         go/exp/gui/x11/auth.go \
1251         go/exp/gui/x11/conn.go
1252
1253 go_exp_sql_driver_files = \
1254         go/exp/sql/driver/driver.go \
1255         go/exp/sql/driver/types.go
1256
1257 go_exp_template_html_files = \
1258         go/exp/template/html/attr.go \
1259         go/exp/template/html/clone.go \
1260         go/exp/template/html/content.go \
1261         go/exp/template/html/context.go \
1262         go/exp/template/html/css.go \
1263         go/exp/template/html/doc.go \
1264         go/exp/template/html/error.go \
1265         go/exp/template/html/escape.go \
1266         go/exp/template/html/html.go \
1267         go/exp/template/html/js.go \
1268         go/exp/template/html/transition.go \
1269         go/exp/template/html/url.go
1270
1271 go_go_ast_files = \
1272         go/go/ast/ast.go \
1273         go/go/ast/filter.go \
1274         go/go/ast/print.go \
1275         go/go/ast/resolve.go \
1276         go/go/ast/scope.go \
1277         go/go/ast/walk.go
1278 go_go_build_files = \
1279         go/go/build/build.go \
1280         go/go/build/dir.go \
1281         go/go/build/path.go \
1282         syslist.go
1283 go_go_doc_files = \
1284         go/go/doc/comment.go \
1285         go/go/doc/doc.go \
1286         go/go/doc/example.go
1287 go_go_parser_files = \
1288         go/go/parser/interface.go \
1289         go/go/parser/parser.go
1290 go_go_printer_files = \
1291         go/go/printer/nodes.go \
1292         go/go/printer/printer.go
1293 go_go_scanner_files = \
1294         go/go/scanner/errors.go \
1295         go/go/scanner/scanner.go
1296 go_go_token_files = \
1297         go/go/token/position.go \
1298         go/go/token/serialize.go \
1299         go/go/token/token.go
1300
1301 go_hash_adler32_files = \
1302         go/hash/adler32/adler32.go
1303 go_hash_crc32_files = \
1304         go/hash/crc32/crc32.go \
1305         go/hash/crc32/crc32_generic.go
1306 go_hash_crc64_files = \
1307         go/hash/crc64/crc64.go
1308 go_hash_fnv_files = \
1309         go/hash/fnv/fnv.go
1310
1311 go_http_cgi_files = \
1312         go/http/cgi/child.go \
1313         go/http/cgi/host.go
1314 go_http_fcgi_files = \
1315         go/http/fcgi/child.go \
1316         go/http/fcgi/fcgi.go
1317 go_http_httptest_files = \
1318         go/http/httptest/recorder.go \
1319         go/http/httptest/server.go
1320 go_http_pprof_files = \
1321         go/http/pprof/pprof.go
1322
1323 go_image_bmp_files = \
1324         go/image/bmp/reader.go
1325
1326 go_image_color_files = \
1327         go/image/color/color.go
1328
1329 go_image_draw_files = \
1330         go/image/draw/draw.go
1331
1332 go_image_gif_files = \
1333         go/image/gif/reader.go
1334
1335 go_image_jpeg_files = \
1336         go/image/jpeg/fdct.go \
1337         go/image/jpeg/huffman.go \
1338         go/image/jpeg/idct.go \
1339         go/image/jpeg/reader.go \
1340         go/image/jpeg/writer.go
1341
1342 go_image_png_files = \
1343         go/image/png/reader.go \
1344         go/image/png/writer.go
1345
1346 go_image_tiff_files = \
1347         go/image/tiff/buffer.go \
1348         go/image/tiff/compress.go \
1349         go/image/tiff/consts.go \
1350         go/image/tiff/reader.go
1351
1352 go_image_ycbcr_files = \
1353         go/image/ycbcr/ycbcr.go
1354
1355 go_index_suffixarray_files = \
1356         go/index/suffixarray/qsufsort.go \
1357         go/index/suffixarray/suffixarray.go
1358
1359 go_io_ioutil_files = \
1360         go/io/ioutil/ioutil.go \
1361         go/io/ioutil/tempfile.go
1362
1363 go_mime_multipart_files = \
1364         go/mime/multipart/formdata.go \
1365         go/mime/multipart/multipart.go \
1366         go/mime/multipart/writer.go
1367
1368 go_net_dict_files = \
1369         go/net/dict/dict.go
1370
1371 go_net_textproto_files = \
1372         go/net/textproto/header.go \
1373         go/net/textproto/pipeline.go \
1374         go/net/textproto/reader.go \
1375         go/net/textproto/textproto.go \
1376         go/net/textproto/writer.go
1377
1378 go_old_netchan_files = \
1379         go/old/netchan/common.go \
1380         go/old/netchan/export.go \
1381         go/old/netchan/import.go
1382 go_old_regexp_files = \
1383         go/old/regexp/regexp.go
1384 go_old_template_files = \
1385         go/old/template/doc.go \
1386         go/old/template/execute.go \
1387         go/old/template/format.go \
1388         go/old/template/parse.go
1389
1390 go_os_inotify_files = \
1391         go/os/inotify/inotify_linux.go
1392
1393 go_os_user_files = \
1394         go/os/user/user.go \
1395         go/os/user/lookup_unix.go
1396
1397 go_os_signal_files = \
1398         go/os/signal/signal.go
1399
1400 go_path_filepath_files = \
1401         go/path/filepath/match.go \
1402         go/path/filepath/path.go \
1403         go/path/filepath/path_unix.go
1404
1405 go_regexp_syntax_files = \
1406         go/regexp/syntax/compile.go \
1407         go/regexp/syntax/parse.go \
1408         go/regexp/syntax/perl_groups.go \
1409         go/regexp/syntax/prog.go \
1410         go/regexp/syntax/regexp.go \
1411         go/regexp/syntax/simplify.go
1412
1413 go_rpc_jsonrpc_files = \
1414         go/rpc/jsonrpc/client.go \
1415         go/rpc/jsonrpc/server.go
1416
1417 go_runtime_debug_files = \
1418         go/runtime/debug/stack.go
1419 go_runtime_pprof_files = \
1420         go/runtime/pprof/pprof.go
1421
1422 go_template_parse_files = \
1423         go/template/parse/lex.go \
1424         go/template/parse/node.go \
1425         go/template/parse/parse.go \
1426         go/template/parse/set.go
1427
1428 go_sync_atomic_files = \
1429         go/sync/atomic/doc.go
1430 go_sync_atomic_c_files = \
1431         go/sync/atomic/atomic.c
1432
1433 go_testing_iotest_files = \
1434         go/testing/iotest/logger.go \
1435         go/testing/iotest/reader.go \
1436         go/testing/iotest/writer.go
1437 go_testing_quick_files = \
1438         go/testing/quick/quick.go
1439 go_testing_script_files = \
1440         go/testing/script/script.go
1441
1442 # Define Syscall and Syscall6.
1443 if LIBGO_IS_RTEMS
1444 syscall_syscall_file = go/syscall/syscall_stubs.go
1445 else
1446 syscall_syscall_file = go/syscall/syscall_unix.go
1447 endif
1448
1449 # Define ForkExec and Exec.
1450 if LIBGO_IS_RTEMS
1451 syscall_exec_file = go/syscall/exec_stubs.go
1452 else
1453 syscall_exec_file = go/syscall/exec_unix.go
1454 endif
1455
1456 # Define Wait4.
1457 if HAVE_WAIT4
1458 syscall_wait_file = go/syscall/libcall_wait4.go
1459 else
1460 syscall_wait_file = go/syscall/libcall_waitpid.go
1461 endif
1462
1463 # Define Sleep.
1464 if LIBGO_IS_RTEMS
1465 syscall_sleep_file = go/syscall/sleep_rtems.go
1466 else
1467 syscall_sleep_file = go/syscall/sleep_select.go
1468 endif
1469
1470 # Define Errstr.
1471 if LIBGO_IS_LINUX
1472 syscall_errstr_file = go/syscall/errstr_linux.go
1473 else
1474 if LIBGO_IS_RTEMS
1475 syscall_errstr_file = go/syscall/errstr_linux.go
1476 else
1477 if HAVE_STRERROR_R
1478 syscall_errstr_file = go/syscall/errstr.go
1479 else
1480 syscall_errstr_file = go/syscall/errstr_nor.go
1481 endif
1482 endif
1483 endif
1484
1485 # Declare libc functions that vary for largefile systems.
1486 if LIBGO_IS_LINUX
1487 # Always use lseek64 on GNU/Linux.
1488 syscall_size_file = go/syscall/libcall_posix_largefile.go
1489 else # !LIBGO_IS_LINUX
1490 if LIBGO_IS_SOLARIS
1491 if LIBGO_IS_386
1492 # Use lseek64 on 32-bit Solaris/x86.
1493 syscall_size_file = go/syscall/libcall_posix_largefile.go
1494 else # !LIBGO_IS_386
1495 if LIBGO_IS_SPARC
1496 # Use lseek64 on 32-bit Solaris/SPARC.
1497 syscall_size_file = go/syscall/libcall_posix_largefile.go
1498 else # !LIBGO_IS_386 && !LIBGO_IS_SPARC
1499 # Use lseek on 64-bit Solaris.
1500 syscall_size_file = go/syscall/libcall_posix_regfile.go
1501 endif # !LIBGO_IS_386 && !LIBGO_IS_SPARC
1502 endif # !LIBGO_IS_SOLARIS
1503 else # !LIBGO_IS_LINUX && !LIBGO_IS_SOLARIS
1504 # Use lseek by default.
1505 syscall_size_file = go/syscall/libcall_posix_regfile.go
1506 endif # !LIBGO_IS_SOLARIS
1507 endif # !LIBGO_IS_LINUX
1508
1509 # Define socket sizes and types.
1510 if LIBGO_IS_LINUX
1511 syscall_socket_file = go/syscall/socket_linux.go epoll.go
1512 else
1513 if LIBGO_IS_SOLARIS
1514 syscall_socket_file = go/syscall/socket_solaris.go
1515 else
1516 if LIBGO_IS_IRIX
1517 syscall_socket_file = go/syscall/socket_irix.go
1518 else
1519 syscall_socket_file = go/syscall/socket_bsd.go
1520 endif
1521 endif
1522 endif
1523
1524 # Support for uname.
1525 if LIBGO_IS_SOLARIS
1526 if LIBGO_IS_386
1527 # 32-bit Solaris 2/x86 needs _nuname, handled in libcall_solaris_386.go.
1528 syscall_uname_file =
1529 else # !LIBGO_IS_386 && LIBGO_IS_SOLARIS
1530 syscall_uname_file = go/syscall/libcall_uname.go
1531 endif
1532 else # !LIBGO_IS_SOLARIS
1533 syscall_uname_file = go/syscall/libcall_uname.go
1534 endif
1535
1536 # Support for netlink sockets and messages.
1537 if LIBGO_IS_LINUX
1538 syscall_netlink_file = go/syscall/netlink_linux.go
1539 else
1540 syscall_netlink_file =
1541 endif
1542
1543 go_base_syscall_files = \
1544         go/syscall/libcall_support.go \
1545         go/syscall/libcall_posix.go \
1546         go/syscall/socket.go \
1547         go/syscall/str.go \
1548         go/syscall/syscall.go \
1549         $(syscall_syscall_file) \
1550         $(syscall_exec_file) \
1551         $(syscall_wait_file) \
1552         $(syscall_sleep_file) \
1553         $(syscall_errstr_file) \
1554         $(syscall_size_file) \
1555         $(syscall_socket_file) \
1556         $(syscall_uname_file) \
1557         $(syscall_netlink_file) \
1558         $(GO_LIBCALL_OS_FILE) \
1559         $(GO_LIBCALL_OS_ARCH_FILE) \
1560         $(GO_SYSCALL_OS_FILE) \
1561         $(GO_SYSCALL_OS_ARCH_FILE)
1562
1563 go_syscall_files = \
1564         $(go_base_syscall_files) \
1565         libcalls.go \
1566         sysinfo.go \
1567         syscall_arch.go
1568 go_syscall_c_files = \
1569         go/syscall/errno.c \
1570         go/syscall/wait.c
1571
1572 libcalls.go: s-libcalls; @true
1573 s-libcalls: Makefile go/syscall/mksyscall.awk $(go_base_syscall_files)
1574         rm -f libcalls.go.tmp
1575         files=`echo $^ | sed -e 's/Makefile//' -e 's|[^ ]*go/syscall/mksyscall.awk||'`; \
1576         $(AWK) -f $(srcdir)/go/syscall/mksyscall.awk $${files} > libcalls.go.tmp
1577         $(SHELL) $(srcdir)/../move-if-change libcalls.go.tmp libcalls.go
1578         $(STAMP) $@
1579
1580 syscall_arch.go: s-syscall_arch; @true
1581 s-syscall_arch: Makefile
1582         rm -f syscall_arch.go.tmp
1583         echo "package syscall" > syscall_arch.go.tmp
1584         echo 'const ARCH = "'$(GOARCH)'"' >> syscall_arch.go.tmp
1585         echo 'const OS = "'$(GOOS)'"' >> syscall_arch.go.tmp
1586         $(SHELL) $(srcdir)/../move-if-change syscall_arch.go.tmp syscall_arch.go
1587         $(STAMP) $@
1588
1589 sysinfo.go: s-sysinfo; @true
1590 s-sysinfo: $(srcdir)/mksysinfo.sh config.h
1591         CC="$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(OSCFLAGS)" $(SHELL) $(srcdir)/mksysinfo.sh
1592         $(SHELL) $(srcdir)/../move-if-change tmp-sysinfo.go sysinfo.go
1593         $(STAMP) $@
1594
1595 # The epoll struct has an embedded union and is packed on x86_64,
1596 # which is too complicated for mksysinfo.sh.  We find the offset of
1597 # the only field we care about in configure.ac, and generate the
1598 # struct here.
1599 epoll.go: s-epoll; @true
1600 s-epoll: Makefile
1601         rm -f epoll.go.tmp
1602         echo 'package syscall' > epoll.go.tmp
1603         echo 'type EpollEvent struct {' >> epoll.go.tmp
1604         echo '  Events uint32' >> epoll.go.tmp
1605         case "$(SIZEOF_STRUCT_EPOLL_EVENT),$(STRUCT_EPOLL_EVENT_FD_OFFSET)" in \
1606         0,0) echo 1>&2 "*** struct epoll_event data.fd offset unknown"; \
1607            exit 1; ;; \
1608         8,4) echo '     Fd int32' >> epoll.go.tmp; ;; \
1609         12,4) echo '    Fd int32' >> epoll.go.tmp; \
1610            echo '       Pad [4]byte' >> epoll.go.tmp; ;; \
1611         12,8) echo '    Pad [4]byte' >> epoll.go.tmp; \
1612            echo '       Fd int32' >> epoll.go.tmp; ;; \
1613         16,8) echo '    Pad [4]byte' >> epoll.go.tmp; \
1614            echo '       Fd int32' >> epoll.go.tmp; \
1615            echo '       Pad2 [4]byte' >> epoll.go.tmp; ;; \
1616         *) echo 1>&2 "*** struct epoll_event unsupported"; \
1617            exit 1; ;; \
1618         esac
1619         echo '}' >> epoll.go.tmp
1620         $(SHELL) $(srcdir)/../move-if-change epoll.go.tmp epoll.go
1621         $(STAMP) $@
1622
1623 if LIBGO_IS_LINUX
1624 # os_lib_inotify_lo = os/inotify.lo
1625 os_lib_inotify_lo =
1626 else
1627 os_lib_inotify_lo =
1628 endif
1629
1630 libgo_go_objs = \
1631         asn1/asn1.lo \
1632         big/big.lo \
1633         bufio/bufio.lo \
1634         bytes/bytes.lo \
1635         bytes/index.lo \
1636         cmath/cmath.lo \
1637         crypto/crypto.lo \
1638         csv/csv.lo \
1639         exec/exec.lo \
1640         expvar/expvar.lo \
1641         flag/flag.lo \
1642         fmt/fmt.lo \
1643         gob/gob.lo \
1644         hash/hash.lo \
1645         html/html.lo \
1646         http/http.lo \
1647         image/image.lo \
1648         io/io.lo \
1649         json/json.lo \
1650         log/log.lo \
1651         math/math.lo \
1652         mail/mail.lo \
1653         mime/mime.lo \
1654         net/net.lo \
1655         os/os.lo \
1656         patch/patch.lo \
1657         path/path.lo \
1658         rand/rand.lo \
1659         reflect/reflect.lo \
1660         regexp/regexp.lo \
1661         rpc/rpc.lo \
1662         runtime/runtime.lo \
1663         scanner/scanner.lo \
1664         smtp/smtp.lo \
1665         sort/sort.lo \
1666         strconv/strconv.lo \
1667         strings/strings.lo \
1668         sync/sync.lo \
1669         syslog/syslog.lo \
1670         syslog/syslog_c.lo \
1671         tabwriter/tabwriter.lo \
1672         template/template.lo \
1673         time/time.lo \
1674         unicode/unicode.lo \
1675         url/url.lo \
1676         utf16/utf16.lo \
1677         utf8/utf8.lo \
1678         websocket/websocket.lo \
1679         xml/xml.lo \
1680         archive/tar.lo \
1681         archive/zip.lo \
1682         compress/bzip2.lo \
1683         compress/flate.lo \
1684         compress/gzip.lo \
1685         compress/lzw.lo \
1686         compress/zlib.lo \
1687         container/heap.lo \
1688         container/list.lo \
1689         container/ring.lo \
1690         crypto/aes.lo \
1691         crypto/bcrypt.lo \
1692         crypto/blowfish.lo \
1693         crypto/cast5.lo \
1694         crypto/cipher.lo \
1695         crypto/des.lo \
1696         crypto/dsa.lo \
1697         crypto/ecdsa.lo \
1698         crypto/elliptic.lo \
1699         crypto/hmac.lo \
1700         crypto/md4.lo \
1701         crypto/md5.lo \
1702         crypto/ocsp.lo \
1703         crypto/openpgp.lo \
1704         crypto/rand.lo \
1705         crypto/rc4.lo \
1706         crypto/ripemd160.lo \
1707         crypto/rsa.lo \
1708         crypto/sha1.lo \
1709         crypto/sha256.lo \
1710         crypto/sha512.lo \
1711         crypto/subtle.lo \
1712         crypto/tls.lo \
1713         crypto/twofish.lo \
1714         crypto/x509.lo \
1715         crypto/xtea.lo \
1716         crypto/openpgp/armor.lo \
1717         crypto/openpgp/elgamal.lo \
1718         crypto/openpgp/error.lo \
1719         crypto/openpgp/packet.lo \
1720         crypto/openpgp/s2k.lo \
1721         crypto/x509/pkix.lo \
1722         debug/dwarf.lo \
1723         debug/elf.lo \
1724         debug/gosym.lo \
1725         debug/macho.lo \
1726         debug/pe.lo \
1727         encoding/ascii85.lo \
1728         encoding/base32.lo \
1729         encoding/base64.lo \
1730         encoding/binary.lo \
1731         encoding/git85.lo \
1732         encoding/hex.lo \
1733         encoding/pem.lo \
1734         exp/ebnf.lo \
1735         exp/gui.lo \
1736         exp/norm.lo \
1737         exp/spdy.lo \
1738         exp/sql.lo \
1739         exp/ssh.lo \
1740         exp/terminal.lo \
1741         exp/types.lo \
1742         exp/gui/x11.lo \
1743         exp/sql/driver.lo \
1744         exp/template/html.lo \
1745         go/ast.lo \
1746         go/build.lo \
1747         go/doc.lo \
1748         go/parser.lo \
1749         go/printer.lo \
1750         go/scanner.lo \
1751         go/token.lo \
1752         hash/adler32.lo \
1753         hash/crc32.lo \
1754         hash/crc64.lo \
1755         hash/fnv.lo \
1756         http/cgi.lo \
1757         http/fcgi.lo \
1758         http/httptest.lo \
1759         http/pprof.lo \
1760         image/bmp.lo \
1761         image/color.lo \
1762         image/draw.lo \
1763         image/gif.lo \
1764         image/jpeg.lo \
1765         image/png.lo \
1766         image/tiff.lo \
1767         image/ycbcr.lo \
1768         index/suffixarray.lo \
1769         io/ioutil.lo \
1770         mime/multipart.lo \
1771         net/dict.lo \
1772         net/textproto.lo \
1773         old/netchan.lo \
1774         old/regexp.lo \
1775         old/template.lo \
1776         $(os_lib_inotify_lo) \
1777         os/user.lo \
1778         os/signal.lo \
1779         path/filepath.lo \
1780         regexp/syntax.lo \
1781         rpc/jsonrpc.lo \
1782         runtime/debug.lo \
1783         runtime/pprof.lo \
1784         sync/atomic.lo \
1785         sync/atomic_c.lo \
1786         syscall/syscall.lo \
1787         syscall/errno.lo \
1788         syscall/wait.lo \
1789         template/parse.lo \
1790         testing/testing.lo \
1791         testing/iotest.lo \
1792         testing/quick.lo \
1793         testing/script.lo
1794
1795 libgo_la_SOURCES = $(runtime_files)
1796
1797 libgo_la_LDFLAGS = $(PTHREAD_CFLAGS) $(AM_LDFLAGS)
1798
1799 libgo_la_LIBADD = \
1800         $(libgo_go_objs) $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
1801
1802 libgobegin_a_SOURCES = \
1803         runtime/go-main.c
1804
1805 LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
1806
1807 GOCFLAGS = $(CFLAGS)
1808 AM_GOCFLAGS = $(STRINGOPS_FLAG)
1809 GOCOMPILE = $(GOC) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_GOCFLAGS) $(GOCFLAGS)
1810
1811 LTGOCOMPILE = $(LIBTOOL) --tag GO --mode=compile $(GOC) $(INCLUDES) \
1812         $(AM_GOCFLAGS) $(GOCFLAGS)
1813
1814 GOLINK = $(LIBTOOL) --tag GO --mode-link $(GOC) \
1815         $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_GOCFLAGS) $(LTLDFLAGS) -o $@
1816
1817 # Build the .go files for a package, generating a .lo file.
1818 BUILDPACKAGE = \
1819         $(MKDIR_P) $(@D); \
1820         files=`echo $^ | sed -e 's/[^ ]*\.gox//g'`; \
1821         $(LTGOCOMPILE) -I . -c -fgo-prefix="libgo_$(@D)" -o $@ $$files
1822
1823 if LIBGO_IS_RTEMS
1824 use_dejagnu = yes
1825 else
1826 use_dejagnu = no
1827 endif
1828
1829 GOTESTFLAGS =
1830
1831 # Check a package.
1832 CHECK = \
1833         GC="$(GOC) $(GOCFLAGS) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs"; \
1834         export GC; \
1835         GOLIBS="$(MATH_LIBS) $(NET_LIBS)"; \
1836         export GOLIBS; \
1837         RUNTESTFLAGS="$(RUNTESTFLAGS)"; \
1838         export RUNTESTFLAGS; \
1839         MAKE="$(MAKE)"; \
1840         export MAKE; \
1841         libgccdir=`${GOC} -print-libgcc-file-name | sed -e 's|/[^/]*$$||'`; \
1842         LD_LIBRARY_PATH="`${PWD_COMMAND}`/.libs:$${libgccdir}:${LD_LIBRARY_PATH}"; \
1843         LD_LIBRARY_PATH=`echo $${LD_LIBRARY_PATH} | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; \
1844         export LD_LIBRARY_PATH; \
1845         rm -f $@-testsum $@-testlog; \
1846         prefix=`if test "$(@D)" = "regexp"; then echo regexp-test; else dirname $(@D); fi`; \
1847         test "$${prefix}" != "." || prefix="$(@D)"; \
1848         if test "$(use_dejagnu)" = "yes"; then \
1849           $(SHELL) $(srcdir)/testsuite/gotest --dejagnu=yes --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" --testname="$(@D)" $(GOTESTFLAGS); \
1850         else \
1851           if $(SHELL) $(srcdir)/testsuite/gotest --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" $(GOTESTFLAGS) >>$@-testlog 2>&1; then \
1852             echo "PASS: $(@D)" >> $@-testlog; \
1853             echo "PASS: $(@D)"; \
1854             echo "PASS: $(@D)" > $@-testsum; \
1855           else \
1856             echo "FAIL: $(@D)" >> $@-testlog; \
1857             cat $@-testlog; \
1858             echo "FAIL: $(@D)" > $@-testsum; \
1859             exit 1; \
1860           fi; \
1861         fi
1862
1863 # Build all packages before checking any.
1864 CHECK_DEPS = libgo.la libgobegin.a \
1865         $(toolexeclibgo_DATA) \
1866         $(toolexeclibgoarchive_DATA) \
1867         $(toolexeclibgocompress_DATA) \
1868         $(toolexeclibgocontainer_DATA) \
1869         $(toolexeclibgocrypto_DATA) \
1870         $(toolexeclibgocryptoopenpgp_DATA) \
1871         $(toolexeclibgodebug_DATA) \
1872         $(toolexeclibgoencoding_DATA) \
1873         $(toolexeclibgoexp_DATA) \
1874         $(toolexeclibgogo_DATA) \
1875         $(toolexeclibgohash_DATA) \
1876         $(toolexeclibgohttp_DATA) \
1877         $(toolexeclibgoimage_DATA) \
1878         $(toolexeclibgoindex_DATA) \
1879         $(toolexeclibgoio_DATA) \
1880         $(toolexeclibgomime_DATA) \
1881         $(toolexeclibgonet_DATA) \
1882         $(toolexeclibgoos_DATA) \
1883         $(toolexeclibgopath_DATA) \
1884         $(toolexeclibgorpc_DATA) \
1885         $(toolexeclibgoruntime_DATA) \
1886         $(toolexeclibgosync_DATA) \
1887         $(toolexeclibgotesting_DATA)
1888
1889 asn1/asn1.lo: $(go_asn1_files) big.gox bytes.gox fmt.gox io.gox os.gox \
1890                 reflect.gox strconv.gox strings.gox time.gox
1891         $(BUILDPACKAGE)
1892 asn1/check: $(CHECK_DEPS)
1893         @$(CHECK)
1894 .PHONY: asn1/check
1895
1896 big/big.lo: $(go_big_files) encoding/binary.gox fmt.gox io.gox os.gox \
1897                 rand.gox strings.gox
1898         $(BUILDPACKAGE)
1899 big/check: $(CHECK_DEPS)
1900         @$(CHECK)
1901 .PHONY: big/check
1902
1903 bufio/bufio.lo: $(go_bufio_files) bytes.gox io.gox os.gox strconv.gox utf8.gox
1904         $(BUILDPACKAGE)
1905 bufio/check: $(CHECK_DEPS)
1906         @$(CHECK)
1907 .PHONY: bufio/check
1908
1909 bytes/bytes.lo: $(go_bytes_files) io.gox os.gox unicode.gox utf8.gox
1910         $(BUILDPACKAGE)
1911 bytes/index.lo: $(go_bytes_c_files) bytes/bytes.lo
1912         $(LTCOMPILE) -c -o bytes/index.lo $(srcdir)/go/bytes/indexbyte.c
1913 bytes/check: $(CHECK_DEPS)
1914         @$(CHECK)
1915 .PHONY: bytes/check
1916
1917 cmath/cmath.lo: $(go_cmath_files) math.gox
1918         $(BUILDPACKAGE)
1919 cmath/check: $(CHECK_DEPS)
1920         @$(CHECK)
1921 .PHONY: cmath/check
1922
1923 crypto/crypto.lo: $(go_crypto_files) hash.gox
1924         $(BUILDPACKAGE)
1925 crypto/check: $(CHECK_DEPS)
1926         @$(CHECK)
1927 .PHONY: crypto/check
1928
1929 csv/csv.lo: $(go_csv_files) bufio.gox bytes.gox fmt.gox io.gox os.gox \
1930                 strings.gox unicode.gox utf8.gox
1931         $(BUILDPACKAGE)
1932 csv/check: $(CHECK_DEPS)
1933         @$(CHECK)
1934 .PHONY: csv/check
1935
1936 exec/exec.lo: $(go_exec_files) bytes.gox io.gox os.gox strconv.gox \
1937                 strings.gox syscall.gox
1938         $(BUILDPACKAGE)
1939 exec/check: $(CHECK_DEPS)
1940         @$(CHECK)
1941 .PHONY: exec/check
1942
1943 expvar/expvar.lo: $(go_expvar_files) bytes.gox fmt.gox http.gox json.gox \
1944                 log.gox os.gox runtime.gox strconv.gox sync.gox
1945         $(BUILDPACKAGE)
1946 expvar/check: $(CHECK_DEPS)
1947         @$(CHECK)
1948 .PHONY: expvar/check
1949
1950 flag/flag.lo: $(go_flag_files) fmt.gox os.gox strconv.gox
1951         $(BUILDPACKAGE)
1952 flag/check: $(CHECK_DEPS)
1953         @$(CHECK)
1954 .PHONY: flag/check
1955
1956 fmt/fmt.lo: $(go_fmt_files) bytes.gox io.gox math.gox os.gox reflect.gox \
1957                 strconv.gox strings.gox sync.gox unicode.gox utf8.gox
1958         $(BUILDPACKAGE)
1959 fmt/check: $(CHECK_DEPS)
1960         @$(CHECK)
1961 .PHONY: fmt/check
1962
1963 gob/gob.lo: $(go_gob_files) bufio.gox bytes.gox fmt.gox io.gox math.gox \
1964                 os.gox reflect.gox runtime.gox strings.gox sync.gox \
1965                 unicode.gox utf8.gox
1966         $(BUILDPACKAGE)
1967 gob/check: $(CHECK_DEPS)
1968         @$(CHECK)
1969 .PHONY: gob/check
1970
1971 hash/hash.lo: $(go_hash_files) io.gox
1972         $(BUILDPACKAGE)
1973 hash/check: $(CHECK_DEPS)
1974         @$(CHECK)
1975 .PHONY: hash/check
1976
1977 html/html.lo: $(go_html_files) bufio.gox bytes.gox fmt.gox io.gox os.gox \
1978                 strconv.gox strings.gox utf8.gox
1979         $(BUILDPACKAGE)
1980 html/check: $(CHECK_DEPS)
1981         @$(CHECK)
1982 .PHONY: html/check
1983
1984 http/http.lo: $(go_http_files) bufio.gox bytes.gox compress/gzip.gox \
1985                 crypto/rand.gox crypto/tls.gox encoding/base64.gox \
1986                 encoding/binary.gox fmt.gox io.gox io/ioutil.gox log.gox \
1987                 mime.gox mime/multipart.gox net.gox net/textproto.gox os.gox \
1988                 path.gox path/filepath.gox runtime/debug.gox sort.gox \
1989                 strconv.gox strings.gox sync.gox time.gox url.gox utf8.gox
1990         $(BUILDPACKAGE)
1991 http/check: $(CHECK_DEPS)
1992         @$(CHECK)
1993 .PHONY: http/check
1994
1995 image/image.lo: $(go_image_files) bufio.gox image/color.gox io.gox os.gox \
1996                 strconv.gox
1997         $(BUILDPACKAGE)
1998 image/check: $(CHECK_DEPS)
1999         @$(CHECK)
2000 .PHONY: image/check
2001
2002 io/io.lo: $(go_io_files) os.gox sync.gox
2003         $(BUILDPACKAGE)
2004 io/check: $(CHECK_DEPS)
2005         @$(CHECK)
2006 .PHONY: io/check
2007
2008 json/json.lo: $(go_json_files) bytes.gox encoding/base64.gox fmt.gox io.gox \
2009                 math.gox os.gox reflect.gox runtime.gox strconv.gox \
2010                 strings.gox unicode.gox utf16.gox utf8.gox
2011         $(BUILDPACKAGE)
2012 json/check: $(CHECK_DEPS)
2013         @$(CHECK)
2014 .PHONY: json/check
2015
2016 log/log.lo: $(go_log_files) bytes.gox fmt.gox io.gox runtime.gox os.gox \
2017                 sync.gox time.gox
2018         $(BUILDPACKAGE)
2019 log/check: $(CHECK_DEPS)
2020         @$(CHECK)
2021 .PHONY: log/check
2022
2023 math/math.lo: $(go_math_files)
2024         $(BUILDPACKAGE)
2025 math/check: $(CHECK_DEPS)
2026         @$(CHECK)
2027 .PHONY: math/check
2028
2029 mail/mail.lo: $(go_mail_files) bufio.gox bytes.gox encoding/base64.gox \
2030                 fmt.gox io.gox io/ioutil.gox log.gox net/textproto.gox os.gox \
2031                 strconv.gox strings.gox time.gox
2032         $(BUILDPACKAGE)
2033 mail/check: $(CHECK_DEPS)
2034         @$(CHECK)
2035 .PHONY: mail/check
2036
2037 mime/mime.lo: $(go_mime_files) bufio.gox bytes.gox fmt.gox os.gox strings.gox \
2038                 sync.gox unicode.gox
2039         $(BUILDPACKAGE)
2040 mime/check: $(CHECK_DEPS)
2041         @$(CHECK)
2042 .PHONY: mime/check
2043
2044 net/net.lo: $(go_net_files) bytes.gox fmt.gox io.gox os.gox rand.gox \
2045                 reflect.gox sort.gox strconv.gox strings.gox sync.gox \
2046                 syscall.gox time.gox
2047         $(BUILDPACKAGE)
2048 net/check: $(CHECK_DEPS)
2049         @$(CHECK)
2050 .PHONY: net/check
2051
2052 os/os.lo: $(go_os_files) runtime.gox sync.gox syscall.gox
2053         $(BUILDPACKAGE)
2054 os/check: $(CHECK_DEPS)
2055         @$(CHECK)
2056 .PHONY: os/check
2057
2058 signal_unix.go: $(srcdir)/go/os/mkunixsignals.sh sysinfo.go
2059         $(SHELL) $(srcdir)/go/os/mkunixsignals.sh sysinfo.go > $@.tmp
2060         mv -f $@.tmp $@
2061
2062 patch/patch.lo: $(go_patch_files) bytes.gox compress/zlib.gox \
2063                 crypto/sha1.gox encoding/git85.gox fmt.gox io.gox os.gox \
2064                 path.gox strings.gox
2065         $(BUILDPACKAGE)
2066 patch/check: $(CHECK_DEPS)
2067         @$(CHECK)
2068 .PHONY: patch/check
2069
2070 path/path.lo: $(go_path_files) os.gox strings.gox utf8.gox
2071         $(BUILDPACKAGE)
2072 path/check: $(CHECK_DEPS)
2073         @$(CHECK)
2074 .PHONY: path/check
2075
2076 rand/rand.lo: $(go_rand_files) math.gox sync.gox
2077         $(BUILDPACKAGE)
2078 rand/check: $(CHECK_DEPS)
2079         @$(CHECK)
2080 .PHONY: rand/check
2081
2082 reflect/reflect.lo: $(go_reflect_files) math.gox runtime.gox strconv.gox \
2083                 sync.gox
2084         $(BUILDPACKAGE)
2085 reflect/check: $(CHECK_DEPS)
2086         @$(CHECK)
2087 .PHONY: reflect/check
2088
2089 regexp/regexp.lo: $(go_regexp_files) bytes.gox io.gox os.gox \
2090                 regexp/syntax.gox strconv.gox strings.gox sync.gox utf8.gox
2091         $(BUILDPACKAGE)
2092 regexp/check: $(CHECK_DEPS)
2093         @$(CHECK)
2094 .PHONY: regexp/check
2095
2096 rpc/rpc.lo: $(go_rpc_files) bufio.gox fmt.gox gob.gox http.gox io.gox log.gox \
2097                 net.gox os.gox reflect.gox sort.gox strings.gox strconv.gox \
2098                 sync.gox template.gox unicode.gox utf8.gox
2099         $(BUILDPACKAGE)
2100 rpc/check: $(CHECK_DEPS)
2101         @$(CHECK)
2102 .PHONY: rpc/check
2103
2104 runtime/runtime.lo: $(go_runtime_files)
2105         $(BUILDPACKAGE)
2106 runtime/check: $(CHECK_DEPS)
2107         @$(CHECK)
2108 .PHONY: runtime/check
2109
2110 scanner/scanner.lo: $(go_scanner_files) bytes.gox fmt.gox io.gox os.gox \
2111                 unicode.gox utf8.gox
2112         $(BUILDPACKAGE)
2113 scanner/check: $(CHECK_DEPS)
2114         @$(CHECK)
2115 .PHONY: scanner/check
2116
2117 smtp/smtp.lo: $(go_smtp_files) crypto/tls.gox encoding/base64.gox io.gox \
2118                 net.gox net/textproto.gox os.gox strings.gox
2119         $(BUILDPACKAGE)
2120 smtp/check: $(CHECK_DEPS)
2121         @$(CHECK)
2122 .PHONY: smtp/check
2123
2124 sort/sort.lo: $(go_sort_files) math.gox
2125         $(BUILDPACKAGE)
2126 sort/check: $(CHECK_DEPS)
2127         @$(CHECK)
2128 .PHONY: sort/check
2129
2130 strconv/strconv.lo: $(go_strconv_files) bytes.gox math.gox os.gox strings.gox \
2131                 unicode.gox utf8.gox
2132         $(BUILDPACKAGE)
2133 strconv/check: $(CHECK_DEPS)
2134         @$(CHECK)
2135 .PHONY: strconv/check
2136
2137 strings/strings.lo: $(go_strings_files) io.gox os.gox unicode.gox utf8.gox
2138         $(BUILDPACKAGE)
2139 strings/check: $(CHECK_DEPS)
2140         @$(CHECK)
2141 .PHONY: strings/check
2142
2143 sync/sync.lo: $(go_sync_files) runtime.gox sync/atomic.gox
2144         $(BUILDPACKAGE)
2145 sync/check: $(CHECK_DEPS)
2146         @$(CHECK)
2147 .PHONY: sync/check
2148
2149 syslog/syslog.lo: $(go_syslog_files) fmt.gox log.gox net.gox os.gox syscall.gox
2150         $(BUILDPACKAGE)
2151 syslog/syslog_c.lo: $(go_syslog_c_files) syslog/syslog.lo
2152         $(LTCOMPILE) -c -o $@ $(srcdir)/go/syslog/syslog_c.c
2153 syslog/check: $(CHECK_DEPS)
2154         @$(CHECK)
2155 .PHONY: syslog/check
2156
2157 tabwriter/tabwriter.lo: $(go_tabwriter_files) bytes.gox io.gox os.gox utf8.gox
2158         $(BUILDPACKAGE)
2159 tabwriter/check: $(CHECK_DEPS)
2160         @$(CHECK)
2161 .PHONY: tabwriter/check
2162
2163 template/template.lo: $(go_template_files) bytes.gox fmt.gox io.gox \
2164                 io/ioutil.gox os.gox path/filepath.gox reflect.gox \
2165                 runtime.gox strings.gox template/parse.gox unicode.gox \
2166                 url.gox utf8.gox
2167         $(BUILDPACKAGE)
2168 template/check: $(CHECK_DEPS)
2169         @$(CHECK)
2170 .PHONY: template/check
2171
2172 testing/testing.lo: $(go_testing_files) bytes.gox flag.gox fmt.gox io.gox \
2173                 os.gox regexp.gox runtime.gox runtime/pprof.gox strings.gox \
2174                 strconv.gox time.gox
2175         $(BUILDPACKAGE)
2176 testing/check: $(CHECK_DEPS)
2177         @$(CHECK)
2178 .PHONY: testing/check
2179
2180 time/time.lo: $(go_time_files) bytes.gox container/heap.gox io/ioutil.gox \
2181                 os.gox strconv.gox sync.gox syscall.gox
2182         $(BUILDPACKAGE)
2183 time/check: $(CHECK_DEPS)
2184         @$(CHECK)
2185 .PHONY: time/check
2186
2187 unicode/unicode.lo: $(go_unicode_files)
2188         $(BUILDPACKAGE)
2189 unicode/check: $(CHECK_DEPS)
2190         @$(CHECK)
2191 .PHONY: unicode/check
2192
2193 url/url.lo: $(go_url_files) os.gox strconv.gox strings.gox
2194         $(BUILDPACKAGE)
2195 url/check: $(CHECK_DEPS)
2196         @$(CHECK)
2197 .PHONY: url/check
2198
2199 utf16/utf16.lo: $(go_utf16_files) unicode.gox
2200         $(BUILDPACKAGE)
2201 utf16/check: $(CHECK_DEPS)
2202         @$(CHECK)
2203 .PHONY: utf16/check
2204
2205 utf8/utf8.lo: $(go_utf8_files) unicode.gox
2206         $(BUILDPACKAGE)
2207 utf8/check: $(CHECK_DEPS)
2208         @$(CHECK)
2209 .PHONY: utf8/check
2210
2211 websocket/websocket.lo: $(go_websocket_files) bufio.gox bytes.gox \
2212                 crypto/md5.gox crypto/rand.gox crypto/sha1.gox crypto/tls.gox \
2213                 encoding/base64.gox encoding/binary.gox fmt.gox http.gox \
2214                 io.gox io/ioutil.gox json.gox net.gox os.gox rand.gox \
2215                 strings.gox strconv.gox sync.gox url.gox
2216         $(BUILDPACKAGE)
2217 websocket/check: $(CHECK_DEPS)
2218         @$(CHECK)
2219 .PHONY: websocket/check
2220
2221 xml/xml.lo: $(go_xml_files) bufio.gox bytes.gox fmt.gox io.gox os.gox \
2222                 reflect.gox strconv.gox strings.gox unicode.gox utf8.gox
2223         $(BUILDPACKAGE)
2224 xml/check: $(CHECK_DEPS)
2225         @$(CHECK)
2226 .PHONY: xml/check
2227
2228 archive/tar.lo: $(go_archive_tar_files) bytes.gox io.gox io/ioutil.gox os.gox \
2229                 strconv.gox strings.gox
2230         $(BUILDPACKAGE)
2231 archive/tar/check: $(CHECK_DEPS)
2232         @$(MKDIR_P) archive/tar
2233         @$(CHECK)
2234 .PHONY: archive/tar/check
2235
2236 archive/zip.lo: $(go_archive_zip_files) bufio.gox compress/flate.gox \
2237                 encoding/binary.gox hash.gox hash/crc32.gox \
2238                 encoding/binary.gox io.gox io/ioutil.gox os.gox time.gox
2239         $(BUILDPACKAGE)
2240 archive/zip/check: $(CHECK_DEPS)
2241         @$(MKDIR_P) archive/zip
2242         @$(CHECK)
2243 .PHONY: archive/zip/check
2244
2245 compress/bzip2.lo: $(go_compress_bzip2_files) bufio.gox io.gox os.gox sort.gox
2246         $(BUILDPACKAGE)
2247 compress/bzip2/check: $(CHECK_DEPS)
2248         @$(MKDIR_P) compress/bzip2
2249         @$(CHECK)
2250 .PHONY: compress/bzip2/check
2251
2252 compress/flate.lo: $(go_compress_flate_files) bufio.gox io.gox math.gox \
2253                 os.gox sort.gox strconv.gox
2254         $(BUILDPACKAGE)
2255 compress/flate/check: $(CHECK_DEPS)
2256         @$(MKDIR_P) compress/flate
2257         @$(CHECK)
2258 .PHONY: compress/flate/check
2259
2260 compress/gzip.lo: $(go_compress_gzip_files) bufio.gox compress/flate.gox \
2261                 hash.gox hash/crc32.gox io.gox os.gox
2262         $(BUILDPACKAGE)
2263 compress/gzip/check: $(CHECK_DEPS)
2264         @$(MKDIR_P) compress/gzip
2265         @$(CHECK)
2266 .PHONY: compress/gzip/check
2267
2268 compress/lzw.lo: $(go_compress_lzw_files) bufio.gox fmt.gox io.gox os.gox
2269         $(BUILDPACKAGE)
2270 compress/lzw/check: $(CHECK_DEPS)
2271         @$(MKDIR_P) compress/lzw
2272         @$(CHECK)
2273 .PHONY: compress/lzw/check
2274
2275 compress/zlib.lo: $(go_compress_zlib_files) bufio.gox compress/flate.gox \
2276                 hash.gox hash/adler32.gox io.gox os.gox
2277         $(BUILDPACKAGE)
2278 compress/zlib/check: $(CHECK_DEPS)
2279         @$(MKDIR_P) compress/zlib
2280         @$(CHECK)
2281 .PHONY: compress/zlib/check
2282
2283 container/heap.lo: $(go_container_heap_files) sort.gox
2284         $(BUILDPACKAGE)
2285 container/heap/check: $(CHECK_DEPS)
2286         @$(MKDIR_P) container/heap
2287         @$(CHECK)
2288 .PHONY: container/heap/check
2289
2290 container/list.lo: $(go_container_list_files)
2291         $(BUILDPACKAGE)
2292 container/list/check: $(CHECK_DEPS)
2293         @$(MKDIR_P) container/list
2294         @$(CHECK)
2295 .PHONY: container/list/check
2296
2297 container/ring.lo: $(go_container_ring_files)
2298         $(BUILDPACKAGE)
2299 container/ring/check: $(CHECK_DEPS)
2300         @$(MKDIR_P) container/ring
2301         @$(CHECK)
2302 .PHONY: container/ring/check
2303
2304 crypto/aes.lo: $(go_crypto_aes_files) os.gox strconv.gox
2305         $(BUILDPACKAGE)
2306 crypto/aes/check: $(CHECK_DEPS)
2307         @$(MKDIR_P) crypto/aes
2308         @$(CHECK)
2309 .PHONY: crypto/aes/check
2310
2311 crypto/bcrypt.lo: $(go_crypto_bcrypt_files) crypto/blowfish.gox \
2312                 crypto/rand.gox crypto/subtle.gox encoding/base64.gox \
2313                 fmt.gox io.gox os.gox strconv.gox
2314         $(BUILDPACKAGE)
2315 crypto/bcrypt/check: $(CHECK_DEPS)
2316         @$(MKDIR_P) crypto/bcrypt
2317         @$(CHECK)
2318 .PHONY: crypto/bcrypt/check
2319
2320 crypto/blowfish.lo: $(go_crypto_blowfish_files) os.gox strconv.gox
2321         $(BUILDPACKAGE)
2322 crypto/blowfish/check: $(CHECK_DEPS)
2323         @$(MKDIR_P) crypto/blowfish
2324         @$(CHECK)
2325 .PHONY: crypto/blowfish/check
2326
2327 crypto/cast5.lo: $(go_crypto_cast5_files) os.gox
2328         $(BUILDPACKAGE)
2329 crypto/cast5/check: $(CHECK_DEPS)
2330         @$(MKDIR_P) crypto/cast5
2331         @$(CHECK)
2332 .PHONY: crypto/cast5/check
2333
2334 crypto/cipher.lo: $(go_crypto_cipher_files) io.gox os.gox
2335         $(BUILDPACKAGE)
2336 crypto/cipher/check: $(CHECK_DEPS)
2337         @$(MKDIR_P) crypto/cipher
2338         @$(CHECK)
2339 .PHONY: crypto/cipher/check
2340
2341 crypto/des.lo: $(go_crypto_des_files) encoding/binary.gox os.gox strconv.gox
2342         $(BUILDPACKAGE)
2343 crypto/des/check: $(CHECK_DEPS)
2344         @$(MKDIR_P) crypto/des
2345         @$(CHECK)
2346 .PHONY: crypto/des/check
2347
2348 crypto/dsa.lo: $(go_crypto_dsa_files) big.gox io.gox os.gox
2349         $(BUILDPACKAGE)
2350 crypto/dsa/check: $(CHECK_DEPS)
2351         @$(MKDIR_P) crypto/dsa
2352         @$(CHECK)
2353 .PHONY: crypto/dsa/check
2354
2355 crypto/ecdsa.lo: $(go_crypto_ecdsa_files) big.gox crypto/elliptic.gox io.gox \
2356                 os.gox
2357         $(BUILDPACKAGE)
2358 crypto/ecdsa/check: $(CHECK_DEPS)
2359         @$(MKDIR_P) crypto/ecdsa
2360         @$(CHECK)
2361 .PHONY: crypto/ecdsa/check
2362
2363 crypto/elliptic.lo: $(go_crypto_elliptic_files) big.gox io.gox os.gox sync.gox
2364         $(BUILDPACKAGE)
2365 crypto/elliptic/check: $(CHECK_DEPS)
2366         @$(MKDIR_P) crypto/elliptic
2367         @$(CHECK)
2368 .PHONY: crypto/elliptic/check
2369
2370 crypto/hmac.lo: $(go_crypto_hmac_files) crypto/md5.gox crypto/sha1.gox \
2371                 crypto/sha256.gox hash.gox os.gox
2372         $(BUILDPACKAGE)
2373 crypto/hmac/check: $(CHECK_DEPS)
2374         @$(MKDIR_P) crypto/hmac
2375         @$(CHECK)
2376 .PHONY: crypto/hmac/check
2377
2378 crypto/md4.lo: $(go_crypto_md4_files) crypto.gox hash.gox os.gox
2379         $(BUILDPACKAGE)
2380 crypto/md4/check: $(CHECK_DEPS)
2381         @$(MKDIR_P) crypto/md4
2382         @$(CHECK)
2383 .PHONY: crypto/md4/check
2384
2385 crypto/md5.lo: $(go_crypto_md5_files) crypto.gox hash.gox os.gox
2386         $(BUILDPACKAGE)
2387 crypto/md5/check: $(CHECK_DEPS)
2388         @$(MKDIR_P) crypto/md5
2389         @$(CHECK)
2390 .PHONY: crypto/md5/check
2391
2392 crypto/ocsp.lo: $(go_crypto_ocsp_files) asn1.gox crypto.gox crypto/rsa.gox \
2393                 crypto/sha1.gox crypto/x509.gox crypto/x509/pkix.gox os.gox \
2394                 time.gox
2395         $(BUILDPACKAGE)
2396 crypto/ocsp/check: $(CHECK_DEPS)
2397         @$(MKDIR_P) crypto/ocsp
2398         @$(CHECK)
2399 .PHONY: crypto/ocsp/check
2400
2401 crypto/openpgp.lo: $(go_crypto_openpgp_files) crypto.gox \
2402                 crypto/openpgp/armor.gox crypto/openpgp/error.gox \
2403                 crypto/openpgp/packet.gox crypto/openpgp/s2k.gox \
2404                 crypto/rand.gox crypto/rsa.gox crypto/sha256.gox hash.gox \
2405                 io.gox os.gox strconv.gox time.gox
2406         $(BUILDPACKAGE)
2407 crypto/openpgp/check: $(CHECK_DEPS)
2408         @$(MKDIR_P) crypto/openpgp
2409         @$(CHECK)
2410 .PHONY: crypto/openpgp/check
2411
2412 crypto/rand.lo: $(go_crypto_rand_files) big.gox bufio.gox crypto/aes.gox \
2413                 io.gox os.gox sync.gox time.gox
2414         $(BUILDPACKAGE)
2415 crypto/rand/check: $(CHECK_DEPS)
2416         @$(MKDIR_P) crypto/rand
2417         @$(CHECK)
2418 .PHONY: crypto/rand/check
2419
2420 crypto/rc4.lo: $(go_crypto_rc4_files) os.gox strconv.gox
2421         $(BUILDPACKAGE)
2422 crypto/rc4/check: $(CHECK_DEPS)
2423         @$(MKDIR_P) crypto/rc4
2424         @$(CHECK)
2425 .PHONY: crypto/rc4/check
2426
2427 crypto/ripemd160.lo: $(go_crypto_ripemd160_files) crypto.gox hash.gox os.gox
2428         $(BUILDPACKAGE)
2429 crypto/ripemd160/check: $(CHECK_DEPS)
2430         @$(MKDIR_P) crypto/ripemd160
2431         @$(CHECK)
2432 .PHONY: crypto/ripemd160/check
2433
2434 crypto/rsa.lo: $(go_crypto_rsa_files) big.gox crypto.gox crypto/rand.gox \
2435                 crypto/sha1.gox crypto/subtle.gox encoding/hex.gox hash.gox \
2436                 io.gox os.gox
2437         $(BUILDPACKAGE)
2438 crypto/rsa/check: $(CHECK_DEPS)
2439         @$(MKDIR_P) crypto/rsa
2440         @$(CHECK)
2441 .PHONY: crypto/rsa/check
2442
2443 crypto/sha1.lo: $(go_crypto_sha1_files) crypto.gox hash.gox os.gox
2444         $(BUILDPACKAGE)
2445 crypto/sha1/check: $(CHECK_DEPS)
2446         @$(MKDIR_P) crypto/sha1
2447         @$(CHECK)
2448 .PHONY: crypto/sha1/check
2449
2450 crypto/sha256.lo: $(go_crypto_sha256_files) crypto.gox hash.gox os.gox
2451         $(BUILDPACKAGE)
2452 crypto/sha256/check: $(CHECK_DEPS)
2453         @$(MKDIR_P) crypto/sha256
2454         @$(CHECK)
2455 .PHONY: crypto/sha256/check
2456
2457 crypto/sha512.lo: $(go_crypto_sha512_files) crypto.gox hash.gox os.gox
2458         $(BUILDPACKAGE)
2459 crypto/sha512/check: $(CHECK_DEPS)
2460         @$(MKDIR_P) crypto/sha512
2461         @$(CHECK)
2462 .PHONY: crypto/sha512/check
2463
2464 crypto/subtle.lo: $(go_crypto_subtle_files)
2465         $(BUILDPACKAGE)
2466 crypto/subtle/check: $(CHECK_DEPS)
2467         @$(MKDIR_P) crypto/subtle
2468         @$(CHECK)
2469 .PHONY: crypto/subtle/check
2470
2471 crypto/tls.lo: $(go_crypto_tls_files) big.gox bytes.gox crypto.gox \
2472                 crypto/aes.gox crypto/cipher.gox crypto/des.gox \
2473                 crypto/elliptic.gox crypto/hmac.gox crypto/md5.gox \
2474                 crypto/rand.gox crypto/rc4.gox crypto/rsa.gox crypto/sha1.gox \
2475                 crypto/subtle.gox crypto/x509.gox crypto/x509/pkix.gox \
2476                 encoding/pem.gox hash.gox io.gox io/ioutil.gox net.gox os.gox \
2477                 strconv.gox strings.gox sync.gox time.gox
2478         $(BUILDPACKAGE)
2479 crypto/tls/check: $(CHECK_DEPS)
2480         @$(MKDIR_P) crypto/tls
2481         @$(CHECK)
2482 .PHONY: crypto/tls/check
2483
2484 crypto/twofish.lo: $(go_crypto_twofish_files) os.gox strconv.gox
2485         $(BUILDPACKAGE)
2486 crypto/twofish/check: $(CHECK_DEPS)
2487         @$(MKDIR_P) crypto/twofish
2488         @$(CHECK)
2489 .PHONY: crypto/twofish/check
2490
2491 crypto/x509.lo: $(go_crypto_x509_files) asn1.gox big.gox bytes.gox crypto.gox \
2492                 crypto/dsa.gox crypto/rsa.gox crypto/sha1.gox \
2493                 crypto/x509/pkix.gox encoding/pem.gox os.gox strings.gox \
2494                 time.gox
2495         $(BUILDPACKAGE)
2496 crypto/x509/check: $(CHECK_DEPS)
2497         @$(MKDIR_P) crypto/x509
2498         @$(CHECK)
2499 .PHONY: crypto/x509/check
2500
2501 crypto/xtea.lo: $(go_crypto_xtea_files) os.gox strconv.gox
2502         $(BUILDPACKAGE)
2503 crypto/xtea/check: $(CHECK_DEPS)
2504         @$(MKDIR_P) crypto/xtea
2505         @$(CHECK)
2506 .PHONY: crypto/xtea/check
2507
2508 crypto/openpgp/armor.lo: $(go_crypto_openpgp_armor_files) bufio.gox bytes.gox \
2509                 crypto/openpgp/error.gox encoding/base64.gox io.gox os.gox
2510         $(BUILDPACKAGE)
2511 crypto/openpgp/armor/check: $(CHECK_DEPS)
2512         @$(MKDIR_P) crypto/openpgp/armor
2513         @$(CHECK)
2514 .PHONY: crypto/openpgp/armor/check
2515
2516 crypto/openpgp/elgamal.lo: $(go_crypto_openpgp_elgamal_files) big.gox \
2517                 crypto/rand.gox crypto/subtle.gox io.gox os.gox
2518         $(BUILDPACKAGE)
2519 crypto/openpgp/elgamal/check: $(CHECK_DEPS)
2520         @$(MKDIR_P) crypto/openpgp/elgamal
2521         @$(CHECK)
2522 .PHONY: crypto/openpgp/elgamal/check
2523
2524 crypto/openpgp/error.lo: $(go_crypto_openpgp_error_files) strconv.gox
2525         $(BUILDPACKAGE)
2526 crypto/openpgp/error/check: $(CHECK_DEPS)
2527         @$(MKDIR_P) crypto/openpgp/error
2528         @$(CHECK)
2529 .PHONY: crypto/openpgp/error/check
2530
2531 crypto/openpgp/packet.lo: $(go_crypto_openpgp_packet_files) big.gox bytes.gox \
2532                 compress/flate.gox compress/zlib.gox crypto.gox \
2533                 crypto/aes.gox crypto/cast5.gox crypto/cipher.gox \
2534                 crypto/dsa.gox crypto/openpgp/elgamal.gox \
2535                 crypto/openpgp/error.gox crypto/openpgp/s2k.gox \
2536                 crypto/rand.gox crypto/rsa.gox crypto/sha1.gox \
2537                 crypto/subtle.gox encoding/binary.gox fmt.gox \
2538                 hash.gox io.gox io/ioutil.gox os.gox strconv.gox strings.gox
2539         $(BUILDPACKAGE)
2540 crypto/openpgp/packet/check: $(CHECK_DEPS)
2541         @$(MKDIR_P) crypto/openpgp/packet
2542         @$(CHECK)
2543 .PHONY: crypto/openpgp/packet/check
2544
2545 crypto/openpgp/s2k.lo: $(go_crypto_openpgp_s2k_files) crypto.gox \
2546                 crypto/md5.gox crypto/openpgp/error.gox crypto/rand.gox \
2547                 crypto/ripemd160.gox crypto/sha1.gox crypto/sha256.gox \
2548                 crypto/sha512.gox hash.gox io.gox os.gox
2549         $(BUILDPACKAGE)
2550 crypto/openpgp/s2k/check: $(CHECK_DEPS)
2551         @$(MKDIR_P) crypto/openpgp/s2k
2552         @$(CHECK)
2553 .PHONY: crypto/openpgp/s2k/check
2554
2555 crypto/x509/pkix.lo: $(go_crypto_x509_pkix_files) asn1.gox big.gox time.gox
2556         $(BUILDPACKAGE)
2557 crypto/x509/pkix/check: $(CHECK_DEPS)
2558         @$(MKDIR_P) crypto/x509/pkix
2559         @$(CHECK)
2560 .PHONY: crypto/x509/pkix/check
2561
2562 debug/dwarf.lo: $(go_debug_dwarf_files) encoding/binary.gox os.gox strconv.gox
2563         $(BUILDPACKAGE)
2564 debug/dwarf/check: $(CHECK_DEPS)
2565         @$(MKDIR_P) debug/dwarf
2566         @$(CHECK)
2567 .PHONY: debug/dwarf/check
2568
2569 debug/elf.lo: $(go_debug_elf_files) bytes.gox debug/dwarf.gox \
2570                 encoding/binary.gox fmt.gox io.gox os.gox strconv.gox
2571         $(BUILDPACKAGE)
2572 debug/elf/check: $(CHECK_DEPS)
2573         @$(MKDIR_P) debug/elf
2574         @$(CHECK)
2575 .PHONY: debug/elf/check
2576
2577 debug/gosym.lo: $(go_debug_gosym_files) encoding/binary.gox fmt.gox os.gox \
2578                 strconv.gox strings.gox
2579         $(BUILDPACKAGE)
2580 debug/gosym/check: $(CHECK_DEPS)
2581         @$(MKDIR_P) debug/gosym
2582         @$(CHECK)
2583 .PHONY: debug/gosym/check
2584
2585 debug/macho.lo: $(go_debug_macho_files) bytes.gox debug/dwarf.gox \
2586                 encoding/binary.gox fmt.gox io.gox os.gox strconv.gox
2587         $(BUILDPACKAGE)
2588 debug/macho/check: $(CHECK_DEPS)
2589         @$(MKDIR_P) debug/macho
2590         @$(CHECK)
2591 .PHONY: debug/macho/check
2592
2593 debug/pe.lo: $(go_debug_pe_files) debug/dwarf.gox \
2594                 encoding/binary.gox fmt.gox io.gox os.gox strconv.gox
2595         $(BUILDPACKAGE)
2596 debug/pe/check: $(CHECK_DEPS)
2597         @$(MKDIR_P) debug/pe
2598         @$(CHECK)
2599 .PHONY: debug/pe/check
2600
2601 encoding/ascii85.lo: $(go_encoding_ascii85_files) io.gox os.gox strconv.gox
2602         $(BUILDPACKAGE)
2603 encoding/ascii85/check: $(CHECK_DEPS)
2604         @$(MKDIR_P) encoding/ascii85
2605         @$(CHECK)
2606 .PHONY: encoding/ascii85/check
2607
2608 encoding/base32.lo: $(go_encoding_base32_files) io.gox os.gox strconv.gox
2609         $(BUILDPACKAGE)
2610 encoding/base32/check: $(CHECK_DEPS)
2611         @$(MKDIR_P) encoding/base32
2612         @$(CHECK)
2613 .PHONY: encoding/base32/check
2614
2615 encoding/base64.lo: $(go_encoding_base64_files) io.gox os.gox strconv.gox
2616         $(BUILDPACKAGE)
2617 encoding/base64/check: $(CHECK_DEPS)
2618         @$(MKDIR_P) encoding/base64
2619         @$(CHECK)
2620 .PHONY: encoding/base64/check
2621
2622 encoding/binary.lo: $(go_encoding_binary_files) io.gox math.gox os.gox \
2623                 reflect.gox
2624         $(BUILDPACKAGE)
2625 encoding/binary/check: $(CHECK_DEPS)
2626         @$(MKDIR_P) encoding/binary
2627         @$(CHECK)
2628 .PHONY: encoding/binary/check
2629
2630 encoding/git85.lo: $(go_encoding_git85_files) bytes.gox io.gox os.gox \
2631                 strconv.gox
2632         $(BUILDPACKAGE)
2633 encoding/git85/check: $(CHECK_DEPS)
2634         @$(MKDIR_P) encoding/git85
2635         @$(CHECK)
2636 .PHONY: encoding/git85/check
2637
2638 encoding/hex.lo: $(go_encoding_hex_files) bytes.gox io.gox os.gox strconv.gox
2639         $(BUILDPACKAGE)
2640 encoding/hex/check: $(CHECK_DEPS)
2641         @$(MKDIR_P) encoding/hex
2642         @$(CHECK)
2643 .PHONY: encoding/hex/check
2644
2645 encoding/pem.lo: $(go_encoding_pem_files) bytes.gox encoding/base64.gox
2646         $(BUILDPACKAGE)
2647 encoding/pem/check: $(CHECK_DEPS)
2648         @$(MKDIR_P) encoding/pem
2649         @$(CHECK)
2650 .PHONY: encoding/pem/check
2651
2652 exp/ebnf.lo: $(go_exp_ebnf_files) scanner.gox go/token.gox os.gox \
2653                 strconv.gox unicode.gox utf8.gox
2654         $(BUILDPACKAGE)
2655 exp/ebnf/check: $(CHECK_DEPS)
2656         @$(MKDIR_P) exp/ebnf
2657         @$(CHECK)
2658 .PHONY: exp/ebnf/check
2659
2660 exp/gui.lo: $(go_exp_gui_files) image.gox image/draw.gox os.gox
2661         $(BUILDPACKAGE)
2662 exp/gui/check: $(CHECK_DEPS)
2663         @$(MKDIR_P) exp/gui
2664         @$(CHECK)
2665 .PHONY: exp/gui/check
2666
2667 exp/norm.lo: $(go_exp_norm_files) io.gox os.gox utf8.gox
2668         $(BUILDPACKAGE)
2669 exp/norm/check: $(CHECK_DEPS)
2670         @$(MKDIR_P) exp/norm
2671         @$(CHECK)
2672 .PHONY: exp/norm/check
2673
2674 exp/spdy.lo: $(go_exp_spdy_files) bytes.gox compress/zlib.gox \
2675                 encoding/binary.gox http.gox io.gox os.gox strings.gox
2676         $(BUILDPACKAGE)
2677 exp/spdy/check: $(CHECK_DEPS)
2678         @$(MKDIR_P) exp/spdy
2679         @$(CHECK)
2680 .PHONY: exp/spdy/check
2681
2682 exp/sql.lo: $(go_exp_sql_files) exp/sql/driver.gox fmt.gox os.gox reflect.gox \
2683                 runtime.gox strconv.gox sync.gox
2684         $(BUILDPACKAGE)
2685 exp/sql/check: $(CHECK_DEPS)
2686         @$(MKDIR_P) exp/sql
2687         @$(CHECK)
2688 .PHONY: exp/sql/check
2689
2690 exp/ssh.lo: $(go_exp_ssh_files) big.gox bufio.gox bytes.gox crypto.gox \
2691                 crypto/aes.gox crypto/cipher.gox crypto/hmac.gox \
2692                 crypto/rand.gox crypto/rsa.gox crypto/sha1.gox \
2693                 crypto/subtle.gox crypto/x509.gox encoding/pem.gox hash.gox \
2694                 io.gox net.gox os.gox reflect.gox strconv.gox sync.gox
2695         $(BUILDPACKAGE)
2696 exp/ssh/check: $(CHECK_DEPS)
2697         @$(MKDIR_P) exp/ssh
2698         @$(CHECK)
2699 .PHONY: exp/ssh/check
2700
2701 exp/terminal.lo: $(go_exp_terminal_files) io.gox os.gox syscall.gox
2702         $(BUILDPACKAGE)
2703 exp/terminal/check: $(CHECK_DEPS)
2704         @$(MKDIR_P) exp/terminal
2705         @$(CHECK)
2706 .PHONY: exp/terminal/check
2707
2708 exp/types.lo: $(go_exp_types_files) big.gox bufio.gox fmt.gox go/ast.gox \
2709                 go/token.gox io.gox os.gox path/filepath.gox runtime.gox \
2710                 scanner.gox sort.gox strconv.gox strings.gox
2711         $(BUILDPACKAGE)
2712 exp/types/check: $(CHECK_DEPS)
2713         @$(MKDIR_P) exp/types
2714         @$(CHECK)
2715 .PHONY: exp/types/check
2716
2717 exp/gui/x11.lo: $(go_exp_gui_x11_files) bufio.gox exp/gui.gox image.gox \
2718                 image/draw.gox io.gox log.gox net.gox os.gox strconv.gox \
2719                 strings.gox time.gox
2720         $(BUILDPACKAGE)
2721 exp/gui/x11/check: $(CHECK_DEPS)
2722         @$(MKDIR_P) exp/gui/x11
2723         @$(CHECK)
2724 .PHONY: exp/gui/x11/check
2725
2726 exp/sql/driver.lo: $(go_exp_sql_driver_files) fmt.gox os.gox reflect.gox \
2727                 strconv.gox
2728         $(BUILDPACKAGE)
2729 exp/sql/driver/check: $(CHECK_DEPS)
2730         @$(MKDIR_P) exp/sql/driver
2731         @$(CHECK)
2732 .PHONY: exp/sql/driver/check
2733
2734 exp/template/html.lo: $(go_exp_template_html_files) bytes.gox fmt.gox \
2735                 html.gox json.gox os.gox strings.gox template.gox \
2736                 template/parse.gox unicode.gox utf8.gox 
2737         $(BUILDPACKAGE)
2738 exp/template/html/check: $(CHECK_DEPS)
2739         @$(MKDIR_P) exp/template/html
2740         @$(CHECK)
2741 .PHONY: exp/template/html/check
2742
2743 go/ast.lo: $(go_go_ast_files) bytes.gox fmt.gox go/scanner.gox go/token.gox \
2744                 io.gox os.gox reflect.gox strconv.gox unicode.gox utf8.gox
2745         $(BUILDPACKAGE)
2746 go/ast/check: $(CHECK_DEPS)
2747         @$(MKDIR_P) go/ast
2748         @$(CHECK)
2749 .PHONY: go/ast/check
2750
2751 go/build.lo: $(go_go_build_files) bytes.gox exec.gox fmt.gox go/ast.gox \
2752                 go/doc.gox go/parser.gox go/token.gox io/ioutil.gox log.gox \
2753                 os.gox path.gox path/filepath.gox regexp.gox runtime.gox \
2754                 sort.gox strconv.gox strings.gox runtime.gox unicode.gox
2755         $(BUILDPACKAGE)
2756 go/build/check: $(CHECK_DEPS)
2757         @$(MKDIR_P) go/build
2758         @$(CHECK)
2759 .PHONY: go/build/check
2760
2761 syslist.go: s-syslist; @true
2762 s-syslist: Makefile
2763         echo '// Generated automatically by make.' >syslist.go.tmp
2764         echo 'package build' >>syslist.go.tmp
2765         echo 'const goosList = "$(GOOS)"' >>syslist.go.tmp
2766         echo 'const goarchList = "$(GOARCH)"' >>syslist.go.tmp
2767         $(SHELL) $(srcdir)/../move-if-change syslist.go.tmp syslist.go
2768         $(STAMP) $@
2769
2770 go/doc.lo: $(go_go_doc_files) go/ast.gox go/token.gox io.gox regexp.gox \
2771                 sort.gox strings.gox template.gox unicode.gox utf8.gox
2772         $(BUILDPACKAGE)
2773 go/doc/check: $(CHECK_DEPS)
2774         @$(MKDIR_P) go/doc
2775         @$(CHECK)
2776 .PHONY: go/doc/check
2777
2778 go/parser.lo: $(go_go_parser_files) bytes.gox fmt.gox go/ast.gox \
2779                 go/scanner.gox go/token.gox io.gox io/ioutil.gox os.gox \
2780                 path/filepath.gox strings.gox
2781         $(BUILDPACKAGE)
2782 go/parser/check: $(CHECK_DEPS)
2783         @$(MKDIR_P) go/parser
2784         @$(CHECK)
2785 .PHONY: go/parser/check
2786
2787 go/printer.lo: $(go_go_printer_files) bytes.gox fmt.gox go/ast.gox \
2788                 go/token.gox io.gox os.gox path/filepath.gox reflect.gox \
2789                 strings.gox tabwriter.gox
2790         $(BUILDPACKAGE)
2791 go/printer/check: $(CHECK_DEPS)
2792         @$(MKDIR_P) go/printer
2793         @$(CHECK)
2794 .PHONY: go/printer/check
2795
2796 go/scanner.lo: $(go_go_scanner_files) bytes.gox fmt.gox go/token.gox io.gox \
2797                 os.gox path/filepath.gox sort.gox strconv.gox unicode.gox \
2798                 utf8.gox
2799         $(BUILDPACKAGE)
2800 go/scanner/check: $(CHECK_DEPS)
2801         @$(MKDIR_P) go/scanner
2802         @$(CHECK)
2803 .PHONY: go/scanner/check
2804
2805 go/token.lo: $(go_go_token_files) fmt.gox gob.gox io.gox os.gox sort.gox \
2806                 strconv.gox sync.gox
2807         $(BUILDPACKAGE)
2808 go/token/check: $(CHECK_DEPS)
2809         @$(MKDIR_P) go/token
2810         @$(CHECK)
2811 .PHONY: go/token/check
2812
2813 hash/adler32.lo: $(go_hash_adler32_files) hash.gox os.gox
2814         $(BUILDPACKAGE)
2815 hash/adler32/check: $(CHECK_DEPS)
2816         @$(MKDIR_P) hash/adler32
2817         @$(CHECK)
2818 .PHONY: hash/adler32/check
2819
2820 hash/crc32.lo: $(go_hash_crc32_files) hash.gox os.gox sync.gox
2821         $(BUILDPACKAGE)
2822 hash/crc32/check: $(CHECK_DEPS)
2823         @$(MKDIR_P) hash/crc32
2824         @$(CHECK)
2825 .PHONY: hash/crc32/check
2826
2827 hash/crc64.lo: $(go_hash_crc64_files) hash.gox os.gox
2828         $(BUILDPACKAGE)
2829 hash/crc64/check: $(CHECK_DEPS)
2830         @$(MKDIR_P) hash/crc64
2831         @$(CHECK)
2832 .PHONY: hash/crc64/check
2833
2834 hash/fnv.lo: $(go_hash_fnv_files) encoding/binary.gox hash.gox os.gox
2835         $(BUILDPACKAGE)
2836 hash/fnv/check: $(CHECK_DEPS)
2837         @$(MKDIR_P) hash/fnv
2838         @$(CHECK)
2839 .PHONY: hash/fnv/check
2840
2841 http/cgi.lo: $(go_http_cgi_files) bufio.gox crypto/tls.gox exec.gox fmt.gox \
2842                 http.gox net.gox io.gox io/ioutil.gox log.gox os.gox \
2843                 path/filepath.gox regexp.gox strconv.gox strings.gox url.gox
2844         $(BUILDPACKAGE)
2845 http/cgi/check: $(CHECK_DEPS)
2846         @$(MKDIR_P) http/cgi
2847         @$(CHECK)
2848 .PHONY: http/cgi/check
2849
2850 http/fcgi.lo: $(go_http_fcgi_files) bufio.gox bytes.gox encoding/binary.gox \
2851                 fmt.gox http.gox http/cgi.gox io.gox net.gox os.gox sync.gox \
2852                 time.gox
2853         $(BUILDPACKAGE)
2854 http/fcgi/check: $(CHECK_DEPS)
2855         @$(MKDIR_P) http/fcgi
2856         @$(CHECK)
2857 .PHONY: http/fcgi/check
2858
2859 http/httptest.lo: $(go_http_httptest_files) bytes.gox crypto/rand.gox \
2860                 crypto/tls.gox flag.gox fmt.gox http.gox net.gox os.gox \
2861                 time.gox
2862         $(BUILDPACKAGE)
2863 http/httptest/check: $(CHECK_DEPS)
2864         @$(MKDIR_P) http/httptest
2865         @$(CHECK)
2866 .PHONY: http/httptest/check
2867
2868 http/pprof.lo: $(go_http_pprof_files) bufio.gox bytes.gox fmt.gox http.gox \
2869                 os.gox runtime.gox runtime/pprof.gox strconv.gox strings.gox
2870         $(BUILDPACKAGE)
2871 http/pprof/check: $(CHECK_DEPS)
2872         @$(MKDIR_P) http/pprof
2873         @$(CHECK)
2874 .PHONY: http/pprof/check
2875
2876 image/bmp.lo: $(go_image_bmp_files) image.gox image/color.gox io.gox os.gox
2877         $(BUILDPACKAGE)
2878 image/bmp/check: $(CHECK_DEPS)
2879         @$(MKDIR_P) image/bmp
2880         @$(CHECK)
2881 .PHONY: image/bmp/check
2882
2883 image/color.lo: $(go_image_color_files)
2884         $(BUILDPACKAGE)
2885 image/color/check: $(CHECK_DEPS)
2886         @$(MKDIR_P) image/color
2887         @$(CHECK)
2888 .PHONY: image/color/check
2889
2890 image/draw.lo: $(go_image_draw_files) image.gox image/color.gox image/ycbcr.gox
2891         $(BUILDPACKAGE)
2892 image/draw/check: $(CHECK_DEPS)
2893         @$(MKDIR_P) image/draw
2894         @$(CHECK)
2895 .PHONY: image/draw/check
2896
2897 image/gif.lo: $(go_image_gif_files) bufio.gox compress/lzw.gox fmt.gox \
2898                 image.gox image/color.gox io.gox os.gox
2899         $(BUILDPACKAGE)
2900 image/gif/check: $(CHECK_DEPS)
2901         @$(MKDIR_P) image/gif
2902         @$(CHECK)
2903 .PHONY: image/gif/check
2904
2905 image/jpeg.lo: $(go_image_jpeg_files) bufio.gox image.gox image/color.gox \
2906                 image/ycbcr.gox io.gox os.gox
2907         $(BUILDPACKAGE)
2908 image/jpeg/check: $(CHECK_DEPS)
2909         @$(MKDIR_P) image/jpeg
2910         @$(CHECK)
2911 .PHONY: image/jpeg/check
2912
2913 image/png.lo: $(go_image_png_files) bufio.gox compress/zlib.gox \
2914                 encoding/binary.gox fmt.gox hash.gox hash/crc32.gox image.gox \
2915                 image/color.gox io.gox os.gox strconv.gox
2916         $(BUILDPACKAGE)
2917 image/png/check: $(CHECK_DEPS)
2918         @$(MKDIR_P) image/png
2919         @$(CHECK)
2920 .PHONY: image/png/check
2921
2922 image/tiff.lo: $(go_image_tiff_files) bufio.gox compress/lzw.gox \
2923                 compress/zlib.gox encoding/binary.gox image.gox \
2924                 image/color.gox io.gox io/ioutil.gox os.gox
2925         $(BUILDPACKAGE)
2926 image/tiff/check: $(CHECK_DEPS)
2927         @$(MKDIR_P) image/tiff
2928         @$(CHECK)
2929 .PHONY: image/tiff/check
2930
2931 image/ycbcr.lo: $(go_image_ycbcr_files) image.gox image/color.gox
2932         $(BUILDPACKAGE)
2933 image/ycbcr/check: $(CHECK_DEPS)
2934         @$(MKDIR_P) image/ycbcr
2935         @$(CHECK)
2936 .PHONY: image/ycbcr/check
2937
2938 index/suffixarray.lo: $(go_index_suffixarray_files) bytes.gox \
2939                 encoding/binary.gox io.gox os.gox regexp.gox sort.gox
2940         $(BUILDPACKAGE)
2941 index/suffixarray/check: $(CHECK_DEPS)
2942         @$(MKDIR_P) index/suffixarray
2943         @$(CHECK)
2944 .PHONY: index/suffixarray/check
2945
2946 io/ioutil.lo: $(go_io_ioutil_files) bytes.gox io.gox os.gox path/filepath.gox \
2947                 sort.gox strconv.gox
2948         $(BUILDPACKAGE)
2949 io/ioutil/check: $(CHECK_DEPS)
2950         @$(MKDIR_P) io/ioutil
2951         @$(CHECK)
2952 .PHONY: io/ioutil/check
2953
2954 mime/multipart.lo: $(go_mime_multipart_files) bufio.gox bytes.gox \
2955                 crypto/rand.gox fmt.gox io.gox io/ioutil.gox mime.gox \
2956                 net/textproto.gox os.gox strings.gox
2957         $(BUILDPACKAGE)
2958 mime/multipart/check: $(CHECK_DEPS)
2959         @$(MKDIR_P) mime/multipart
2960         @$(CHECK)
2961 .PHONY: mime/multipart/check
2962
2963 net/dict.lo: $(go_net_dict_files) net/textproto.gox os.gox strconv.gox \
2964                 strings.gox
2965         $(BUILDPACKAGE)
2966
2967 net/textproto.lo: $(go_net_textproto_files) bufio.gox bytes.gox fmt.gox \
2968                 io.gox io/ioutil.gox net.gox os.gox strings.gox strconv.gox \
2969                 sync.gox
2970         $(BUILDPACKAGE)
2971 net/textproto/check: $(CHECK_DEPS)
2972         @$(MKDIR_P) net/textproto
2973         @$(CHECK)
2974 .PHONY: net/textproto/check
2975
2976 old/netchan.lo: $(go_old_netchan_files) gob.gox io.gox log.gox net.gox os.gox \
2977                 reflect.gox strconv.gox sync.gox time.gox
2978         $(BUILDPACKAGE)
2979 old/netchan/check: $(CHECK_DEPS)
2980         @$(MKDIR_P) old/netchan
2981         @$(CHECK)
2982 .PHONY: old/netchan/check
2983
2984 old/regexp.lo: $(go_old_regexp_files) bytes.gox io.gox os.gox strings.gox \
2985                 utf8.gox
2986         $(BUILDPACKAGE)
2987 old/regexp/check: $(CHECK_DEPS)
2988         @$(MKDIR_P) old/regexp
2989         @$(CHECK)
2990 .PHONY: old/regexp/check
2991
2992 old/template.lo: $(go_old_template_files) bytes.gox fmt.gox io.gox \
2993                 io/ioutil.gox os.gox reflect.gox strconv.gox strings.gox \
2994                 unicode.gox utf8.gox
2995         $(BUILDPACKAGE)
2996 old/template/check: $(CHECK_DEPS)
2997         @$(MKDIR_P) old/template
2998         @$(CHECK)
2999 .PHONY: old/template/check
3000
3001 os/inotify.lo: $(go_os_inotify_files) fmt.gox os.gox strings.gox syscall.gox
3002         $(BUILDPACKAGE)
3003 os/inotify/check: $(CHECK_DEPS)
3004         @$(MKDIR_P) os/inotify
3005         @$(CHECK)
3006 .PHONY: os/inotify/check
3007
3008 os/user.lo: $(go_os_user_files) fmt.gox os.gox runtime.gox strconv.gox \
3009                 strings.gox syscall.gox
3010         $(BUILDPACKAGE)
3011 os/user/check: $(CHECK_DEPS)
3012         @$(MKDIR_P) os/user
3013         @$(CHECK)
3014 .PHONY: os/user/check
3015
3016 os/signal.lo: $(go_os_signal_files) os.gox runtime.gox
3017         $(BUILDPACKAGE)
3018 os/signal/check: $(CHECK_DEPS)
3019         @$(MKDIR_P) os/signal
3020         @$(CHECK)
3021 .PHONY: os/signal/check
3022
3023 path/filepath.lo: $(go_path_filepath_files) bytes.gox os.gox runtime.gox \
3024                 sort.gox strings.gox utf8.gox
3025         $(BUILDPACKAGE)
3026 path/filepath/check: $(CHECK_DEPS)
3027         @$(MKDIR_P) path/filepath
3028         @$(CHECK)
3029 .PHONY: path/filepath/check
3030
3031 regexp/syntax.lo: $(go_regexp_syntax_files) bytes.gox os.gox sort.gox \
3032                 strconv.gox strings.gox unicode.gox utf8.gox
3033         $(BUILDPACKAGE)
3034 regexp/syntax/check: $(CHECK_DEPS)
3035         @$(MKDIR_P) regexp/syntax
3036         @$(CHECK)
3037 .PHONY: regexp/syntax/check
3038
3039 rpc/jsonrpc.lo: $(go_rpc_jsonrpc_files) fmt.gox io.gox json.gox net.gox \
3040                 os.gox rpc.gox sync.gox
3041         $(BUILDPACKAGE)
3042 rpc/jsonrpc/check: $(CHECK_DEPS)
3043         @$(MKDIR_P) rpc/jsonrpc
3044         @$(CHECK)
3045 .PHONY: rpc/jsonrpc/check
3046
3047 runtime/debug.lo: $(go_runtime_debug_files) bytes.gox fmt.gox io/ioutil.gox \
3048                 os.gox runtime.gox
3049         $(BUILDPACKAGE)
3050 runtime/debug/check: $(CHECK_DEPS)
3051         @$(MKDIR_P) runtime/debug
3052         @$(CHECK)
3053 .PHONY: runtime/debug/check
3054
3055 runtime/pprof.lo: $(go_runtime_pprof_files) bufio.gox fmt.gox io.gox os.gox \
3056                 runtime.gox sync.gox
3057         $(BUILDPACKAGE)
3058 runtime/pprof/check: $(CHECK_DEPS)
3059         @$(MKDIR_P) runtime/pprof
3060         @$(CHECK)
3061 .PHONY: runtime/pprof/check
3062
3063 sync/atomic.lo: $(go_sync_atomic_files)
3064         $(BUILDPACKAGE)
3065 sync/atomic_c.lo: $(go_sync_atomic_c_files) sync/atomic.lo
3066         $(LTCOMPILE) -c -o $@ $(srcdir)/go/sync/atomic/atomic.c
3067 sync/atomic/check: $(CHECK_DEPS)
3068         @$(MKDIR_P) sync/atomic
3069         @$(CHECK)
3070 .PHONY: sync/atomic/check
3071
3072 template/parse.lo: $(go_template_parse_files) bytes.gox fmt.gox os.gox \
3073                 runtime.gox strconv.gox strings.gox unicode.gox utf8.gox
3074         $(BUILDPACKAGE)
3075 template/parse/check: $(CHECK_DEPS)
3076         @$(MKDIR_P) template/parse
3077         @$(CHECK)
3078 .PHONY: template/parse/check
3079
3080 testing/iotest.lo: $(go_testing_iotest_files) io.gox log.gox os.gox
3081         $(BUILDPACKAGE)
3082 testing/iotest/check: $(CHECK_DEPS)
3083         @$(MKDIR_P) testing/iotest
3084         @$(CHECK)
3085 .PHONY: testing/iotest/check
3086
3087 testing/quick.lo: $(go_testing_quick_files) flag.gox fmt.gox math.gox os.gox \
3088                 rand.gox reflect.gox strings.gox
3089         $(BUILDPACKAGE)
3090 testing/quick/check: $(CHECK_DEPS)
3091         @$(MKDIR_P) testing/quick
3092         @$(CHECK)
3093 .PHONY: testing/quick/check
3094
3095 testing/script.lo: $(go_testing_script_files) fmt.gox os.gox rand.gox \
3096                 reflect.gox strings.gox
3097         $(BUILDPACKAGE)
3098 testing/script/check: $(CHECK_DEPS)
3099         @$(MKDIR_P) testing/script
3100         @$(CHECK)
3101 .PHONY: testing/script/check
3102
3103 syscall/syscall.lo: $(go_syscall_files) sync.gox
3104         $(BUILDPACKAGE)
3105 syscall/errno.lo: go/syscall/errno.c
3106         $(LTCOMPILE) -c -o $@ $<
3107 syscall/wait.lo: go/syscall/wait.c
3108         $(LTCOMPILE) -c -o $@ $<
3109
3110 # How to build a .gox file from a .lo file.
3111 BUILDGOX = \
3112         f=`echo $< | sed -e 's/.lo$$/.o/'`; \
3113         $(OBJCOPY) -j .go_export $$f $@.tmp && mv -f $@.tmp $@
3114
3115 asn1.gox: asn1/asn1.lo
3116         $(BUILDGOX)
3117 big.gox: big/big.lo
3118         $(BUILDGOX)
3119 bufio.gox: bufio/bufio.lo
3120         $(BUILDGOX)
3121 bytes.gox: bytes/bytes.lo
3122         $(BUILDGOX)
3123 cmath.gox: cmath/cmath.lo
3124         $(BUILDGOX)
3125 crypto.gox: crypto/crypto.lo
3126         $(BUILDGOX)
3127 csv.gox: csv/csv.lo
3128         $(BUILDGOX)
3129 exec.gox: exec/exec.lo
3130         $(BUILDGOX)
3131 expvar.gox: expvar/expvar.lo
3132         $(BUILDGOX)
3133 flag.gox: flag/flag.lo
3134         $(BUILDGOX)
3135 fmt.gox: fmt/fmt.lo
3136         $(BUILDGOX)
3137 gob.gox: gob/gob.lo
3138         $(BUILDGOX)
3139 hash.gox: hash/hash.lo
3140         $(BUILDGOX)
3141 html.gox: html/html.lo
3142         $(BUILDGOX)
3143 http.gox: http/http.lo
3144         $(BUILDGOX)
3145 image.gox: image/image.lo
3146         $(BUILDGOX)
3147 io.gox: io/io.lo
3148         $(BUILDGOX)
3149 json.gox: json/json.lo
3150         $(BUILDGOX)
3151 log.gox: log/log.lo
3152         $(BUILDGOX)
3153 math.gox: math/math.lo
3154         $(BUILDGOX)
3155 mail.gox: mail/mail.lo
3156         $(BUILDGOX)
3157 mime.gox: mime/mime.lo
3158         $(BUILDGOX)
3159 net.gox: net/net.lo
3160         $(BUILDGOX)
3161 os.gox: os/os.lo
3162         $(BUILDGOX)
3163 patch.gox: patch/patch.lo
3164         $(BUILDGOX)
3165 path.gox: path/path.lo
3166         $(BUILDGOX)
3167 rand.gox: rand/rand.lo
3168         $(BUILDGOX)
3169 reflect.gox: reflect/reflect.lo
3170         $(BUILDGOX)
3171 regexp.gox: regexp/regexp.lo
3172         $(BUILDGOX)
3173 rpc.gox: rpc/rpc.lo
3174         $(BUILDGOX)
3175 runtime.gox: runtime/runtime.lo
3176         $(BUILDGOX)
3177 scanner.gox: scanner/scanner.lo
3178         $(BUILDGOX)
3179 smtp.gox: smtp/smtp.lo
3180         $(BUILDGOX)
3181 sort.gox: sort/sort.lo
3182         $(BUILDGOX)
3183 strconv.gox: strconv/strconv.lo
3184         $(BUILDGOX)
3185 strings.gox: strings/strings.lo
3186         $(BUILDGOX)
3187 sync.gox: sync/sync.lo
3188         $(BUILDGOX)
3189 syslog.gox: syslog/syslog.lo
3190         $(BUILDGOX)
3191 syscall.gox: syscall/syscall.lo
3192         $(BUILDGOX)
3193 tabwriter.gox: tabwriter/tabwriter.lo
3194         $(BUILDGOX)
3195 template.gox: template/template.lo
3196         $(BUILDGOX)
3197 testing.gox: testing/testing.lo
3198         $(BUILDGOX)
3199 time.gox: time/time.lo
3200         $(BUILDGOX)
3201 unicode.gox: unicode/unicode.lo
3202         $(BUILDGOX)
3203 url.gox: url/url.lo
3204         $(BUILDGOX)
3205 utf16.gox: utf16/utf16.lo
3206         $(BUILDGOX)
3207 utf8.gox: utf8/utf8.lo
3208         $(BUILDGOX)
3209 websocket.gox: websocket/websocket.lo
3210         $(BUILDGOX)
3211 xml.gox: xml/xml.lo
3212         $(BUILDGOX)
3213
3214 archive/tar.gox: archive/tar.lo
3215         $(BUILDGOX)
3216 archive/zip.gox: archive/zip.lo
3217         $(BUILDGOX)
3218
3219 compress/bzip2.gox: compress/bzip2.lo
3220         $(BUILDGOX)
3221 compress/flate.gox: compress/flate.lo
3222         $(BUILDGOX)
3223 compress/gzip.gox: compress/gzip.lo
3224         $(BUILDGOX)
3225 compress/lzw.gox: compress/lzw.lo
3226         $(BUILDGOX)
3227 compress/zlib.gox: compress/zlib.lo
3228         $(BUILDGOX)
3229
3230 container/heap.gox: container/heap.lo
3231         $(BUILDGOX)
3232 container/list.gox: container/list.lo
3233         $(BUILDGOX)
3234 container/ring.gox: container/ring.lo
3235         $(BUILDGOX)
3236
3237 crypto/aes.gox: crypto/aes.lo
3238         $(BUILDGOX)
3239 crypto/bcrypt.gox: crypto/bcrypt.lo
3240         $(BUILDGOX)
3241 crypto/blowfish.gox: crypto/blowfish.lo
3242         $(BUILDGOX)
3243 crypto/cast5.gox: crypto/cast5.lo
3244         $(BUILDGOX)
3245 crypto/cipher.gox: crypto/cipher.lo
3246         $(BUILDGOX)
3247 crypto/des.gox: crypto/des.lo
3248         $(BUILDGOX)
3249 crypto/dsa.gox: crypto/dsa.lo
3250         $(BUILDGOX)
3251 crypto/ecdsa.gox: crypto/ecdsa.lo       
3252         $(BUILDGOX)
3253 crypto/elliptic.gox: crypto/elliptic.lo
3254         $(BUILDGOX)
3255 crypto/hmac.gox: crypto/hmac.lo
3256         $(BUILDGOX)
3257 crypto/md4.gox: crypto/md4.lo
3258         $(BUILDGOX)
3259 crypto/md5.gox: crypto/md5.lo
3260         $(BUILDGOX)
3261 crypto/ocsp.gox: crypto/ocsp.lo
3262         $(BUILDGOX)
3263 crypto/openpgp.gox: crypto/openpgp.lo
3264         $(BUILDGOX)
3265 crypto/rand.gox: crypto/rand.lo
3266         $(BUILDGOX)
3267 crypto/rc4.gox: crypto/rc4.lo
3268         $(BUILDGOX)
3269 crypto/ripemd160.gox: crypto/ripemd160.lo
3270         $(BUILDGOX)
3271 crypto/rsa.gox: crypto/rsa.lo
3272         $(BUILDGOX)
3273 crypto/sha1.gox: crypto/sha1.lo
3274         $(BUILDGOX)
3275 crypto/sha256.gox: crypto/sha256.lo
3276         $(BUILDGOX)
3277 crypto/sha512.gox: crypto/sha512.lo
3278         $(BUILDGOX)
3279 crypto/subtle.gox: crypto/subtle.lo
3280         $(BUILDGOX)
3281 crypto/tls.gox: crypto/tls.lo
3282         $(BUILDGOX)
3283 crypto/twofish.gox: crypto/twofish.lo
3284         $(BUILDGOX)
3285 crypto/x509.gox: crypto/x509.lo
3286         $(BUILDGOX)
3287 crypto/xtea.gox: crypto/xtea.lo
3288         $(BUILDGOX)
3289
3290 crypto/openpgp/armor.gox: crypto/openpgp/armor.lo
3291         $(BUILDGOX)
3292 crypto/openpgp/elgamal.gox: crypto/openpgp/elgamal.lo
3293         $(BUILDGOX)
3294 crypto/openpgp/error.gox: crypto/openpgp/error.lo
3295         $(BUILDGOX)
3296 crypto/openpgp/packet.gox: crypto/openpgp/packet.lo
3297         $(BUILDGOX)
3298 crypto/openpgp/s2k.gox: crypto/openpgp/s2k.lo
3299         $(BUILDGOX)
3300
3301 crypto/x509/pkix.gox: crypto/x509/pkix.lo
3302         $(BUILDGOX)
3303
3304 debug/dwarf.gox: debug/dwarf.lo
3305         $(BUILDGOX)
3306 debug/elf.gox: debug/elf.lo
3307         $(BUILDGOX)
3308 debug/gosym.gox: debug/gosym.lo
3309         $(BUILDGOX)
3310 debug/macho.gox: debug/macho.lo
3311         $(BUILDGOX)
3312 debug/pe.gox: debug/pe.lo
3313         $(BUILDGOX)
3314
3315 encoding/ascii85.gox: encoding/ascii85.lo
3316         $(BUILDGOX)
3317 encoding/base32.gox: encoding/base32.lo
3318         $(BUILDGOX)
3319 encoding/base64.gox: encoding/base64.lo
3320         $(BUILDGOX)
3321 encoding/binary.gox: encoding/binary.lo
3322         $(BUILDGOX)
3323 encoding/git85.gox: encoding/git85.lo
3324         $(BUILDGOX)
3325 encoding/hex.gox: encoding/hex.lo
3326         $(BUILDGOX)
3327 encoding/pem.gox: encoding/pem.lo
3328         $(BUILDGOX)
3329
3330 exp/ebnf.gox: exp/ebnf.lo
3331         $(BUILDGOX)
3332 exp/gui.gox: exp/gui.lo
3333         $(BUILDGOX)
3334 exp/norm.gox: exp/norm.lo
3335         $(BUILDGOX)
3336 exp/spdy.gox: exp/spdy.lo
3337         $(BUILDGOX)
3338 exp/sql.gox: exp/sql.lo
3339         $(BUILDGOX)
3340 exp/ssh.gox: exp/ssh.lo
3341         $(BUILDGOX)
3342 exp/terminal.gox: exp/terminal.lo
3343         $(BUILDGOX)
3344 exp/types.gox: exp/types.lo
3345         $(BUILDGOX)
3346
3347 exp/gui/x11.gox: exp/gui/x11.lo
3348         $(BUILDGOX)
3349
3350 exp/sql/driver.gox: exp/sql/driver.lo
3351         $(BUILDGOX)
3352
3353 exp/template/html.gox: exp/template/html.lo
3354         $(BUILDGOX)
3355
3356 go/ast.gox: go/ast.lo
3357         $(BUILDGOX)
3358 go/build.gox: go/build.lo
3359         $(BUILDGOX)
3360 go/doc.gox: go/doc.lo
3361         $(BUILDGOX)
3362 go/parser.gox: go/parser.lo
3363         $(BUILDGOX)
3364 go/printer.gox: go/printer.lo
3365         $(BUILDGOX)
3366 go/scanner.gox: go/scanner.lo
3367         $(BUILDGOX)
3368 go/token.gox: go/token.lo
3369         $(BUILDGOX)
3370
3371 hash/adler32.gox: hash/adler32.lo
3372         $(BUILDGOX)
3373 hash/crc32.gox: hash/crc32.lo
3374         $(BUILDGOX)
3375 hash/crc64.gox: hash/crc64.lo
3376         $(BUILDGOX)
3377 hash/fnv.gox: hash/fnv.lo
3378         $(BUILDGOX)
3379
3380 http/cgi.gox: http/cgi.lo
3381         $(BUILDGOX)
3382 http/fcgi.gox: http/fcgi.lo
3383         $(BUILDGOX)
3384 http/httptest.gox: http/httptest.lo
3385         $(BUILDGOX)
3386 http/pprof.gox: http/pprof.lo
3387         $(BUILDGOX)
3388
3389 image/bmp.gox: image/bmp.lo
3390         $(BUILDGOX)
3391 image/color.gox: image/color.lo
3392         $(BUILDGOX)
3393 image/draw.gox: image/draw.lo
3394         $(BUILDGOX)
3395 image/gif.gox: image/gif.lo
3396         $(BUILDGOX)
3397 image/jpeg.gox: image/jpeg.lo
3398         $(BUILDGOX)
3399 image/png.gox: image/png.lo
3400         $(BUILDGOX)
3401 image/tiff.gox: image/tiff.lo
3402         $(BUILDGOX)
3403 image/ycbcr.gox: image/ycbcr.lo
3404         $(BUILDGOX)
3405
3406 index/suffixarray.gox: index/suffixarray.lo
3407         $(BUILDGOX)
3408
3409 io/ioutil.gox: io/ioutil.lo
3410         $(BUILDGOX)
3411
3412 mime/multipart.gox: mime/multipart.lo
3413         $(BUILDGOX)
3414
3415 net/dict.gox: net/dict.lo
3416         $(BUILDGOX)
3417 net/textproto.gox: net/textproto.lo
3418         $(BUILDGOX)
3419
3420 old/netchan.gox: old/netchan.lo
3421         $(BUILDGOX)
3422 old/regexp.gox: old/regexp.lo
3423         $(BUILDGOX)
3424 old/template.gox: old/template.lo
3425         $(BUILDGOX)
3426
3427 os/inotify.gox: os/inotify.lo
3428         $(BUILDGOX)
3429 os/user.gox: os/user.lo
3430         $(BUILDGOX)
3431 os/signal.gox: os/signal.lo
3432         $(BUILDGOX)
3433
3434 path/filepath.gox: path/filepath.lo
3435         $(BUILDGOX)
3436
3437 regexp/syntax.gox: regexp/syntax.lo
3438         $(BUILDGOX)
3439
3440 rpc/jsonrpc.gox: rpc/jsonrpc.lo
3441         $(BUILDGOX)
3442
3443 runtime/debug.gox: runtime/debug.lo
3444         $(BUILDGOX)
3445 runtime/pprof.gox: runtime/pprof.lo
3446         $(BUILDGOX)
3447
3448 sync/atomic.gox: sync/atomic.lo
3449         $(BUILDGOX)
3450
3451 template/parse.gox: template/parse.lo
3452         $(BUILDGOX)
3453
3454 testing/iotest.gox: testing/iotest.lo
3455         $(BUILDGOX)
3456 testing/quick.gox: testing/quick.lo
3457         $(BUILDGOX)
3458 testing/script.gox: testing/script.lo
3459         $(BUILDGOX)
3460
3461 if LIBGO_IS_LINUX
3462 # os_inotify_check = os/inotify/check
3463 os_inotify_check =
3464 else
3465 os_inotify_check =
3466 endif
3467
3468 TEST_PACKAGES = \
3469         asn1/check \
3470         big/check \
3471         bufio/check \
3472         bytes/check \
3473         cmath/check \
3474         csv/check \
3475         exec/check \
3476         expvar/check \
3477         flag/check \
3478         fmt/check \
3479         gob/check \
3480         html/check \
3481         http/check \
3482         image/check \
3483         io/check \
3484         json/check \
3485         log/check \
3486         math/check \
3487         mail/check \
3488         mime/check \
3489         net/check \
3490         os/check \
3491         patch/check \
3492         path/check \
3493         rand/check \
3494         reflect/check \
3495         regexp/check \
3496         rpc/check \
3497         runtime/check \
3498         scanner/check \
3499         smtp/check \
3500         sort/check \
3501         strconv/check \
3502         strings/check \
3503         sync/check \
3504         syslog/check \
3505         tabwriter/check \
3506         template/check \
3507         time/check \
3508         unicode/check \
3509         url/check \
3510         utf16/check \
3511         utf8/check \
3512         websocket/check \
3513         xml/check \
3514         archive/tar/check \
3515         archive/zip/check \
3516         compress/bzip2/check \
3517         compress/flate/check \
3518         compress/gzip/check \
3519         compress/lzw/check \
3520         compress/zlib/check \
3521         container/heap/check \
3522         container/list/check \
3523         container/ring/check \
3524         crypto/aes/check \
3525         crypto/bcrypt/check \
3526         crypto/blowfish/check \
3527         crypto/cast5/check \
3528         crypto/cipher/check \
3529         crypto/des/check \
3530         crypto/dsa/check \
3531         crypto/ecdsa/check \
3532         crypto/elliptic/check \
3533         crypto/hmac/check \
3534         crypto/md4/check \
3535         crypto/md5/check \
3536         crypto/ocsp/check \
3537         crypto/openpgp/check \
3538         crypto/rand/check \
3539         crypto/rc4/check \
3540         crypto/ripemd160/check \
3541         crypto/rsa/check \
3542         crypto/sha1/check \
3543         crypto/sha256/check \
3544         crypto/sha512/check \
3545         crypto/subtle/check \
3546         crypto/tls/check \
3547         crypto/twofish/check \
3548         crypto/x509/check \
3549         crypto/xtea/check \
3550         crypto/openpgp/armor/check \
3551         crypto/openpgp/elgamal/check \
3552         crypto/openpgp/packet/check \
3553         crypto/openpgp/s2k/check \
3554         debug/dwarf/check \
3555         debug/elf/check \
3556         debug/macho/check \
3557         debug/pe/check \
3558         encoding/ascii85/check \
3559         encoding/base32/check \
3560         encoding/base64/check \
3561         encoding/binary/check \
3562         encoding/git85/check \
3563         encoding/hex/check \
3564         encoding/pem/check \
3565         exp/ebnf/check \
3566         exp/norm/check \
3567         exp/spdy/check \
3568         exp/sql/check \
3569         exp/ssh/check \
3570         exp/terminal/check \
3571         exp/template/html/check \
3572         go/ast/check \
3573         $(go_build_check_omitted_since_it_calls_6g) \
3574         go/parser/check \
3575         go/printer/check \
3576         go/scanner/check \
3577         go/token/check \
3578         $(go_types_check_omitted_since_it_calls_6g) \
3579         hash/adler32/check \
3580         hash/crc32/check \
3581         hash/crc64/check \
3582         hash/fnv/check \
3583         http/cgi/check \
3584         http/fcgi/check \
3585         image/draw/check \
3586         image/jpeg/check \
3587         image/png/check \
3588         image/tiff/check \
3589         image/ycbcr/check \
3590         index/suffixarray/check \
3591         io/ioutil/check \
3592         mime/multipart/check \
3593         net/textproto/check \
3594         old/netchan/check \
3595         old/regexp/check \
3596         old/template/check \
3597         $(os_inotify_check) \
3598         os/user/check \
3599         os/signal/check \
3600         path/filepath/check \
3601         regexp/syntax/check \
3602         rpc/jsonrpc/check \
3603         sync/atomic/check \
3604         template/parse/check \
3605         testing/quick/check \
3606         testing/script/check
3607
3608 check: check-tail
3609 check-recursive: check-head
3610
3611 check-head:
3612         @echo "Test Run By $${USER} on `date`" > libgo.head
3613         @echo "Native configuration is $(host_triplet)" >> libgo.head
3614         @echo >> libgo.head
3615         @echo "         === libgo tests ===" >> libgo.head
3616         @echo >> libgo.head
3617
3618 check-tail: check-recursive check-multi
3619         @lib=`${PWD_COMMAND} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \
3620         for dir in . $(MULTIDIRS); do \
3621           mv ../$${dir}/$${lib}/libgo.sum ../$${dir}/$${lib}/libgo.sum.sep; \
3622           mv ../$${dir}/$${lib}/libgo.log ../$${dir}/$${lib}/libgo.log.sep; \
3623         done; \
3624         mv libgo.head libgo.sum; \
3625         cp libgo.sum libgo.log; \
3626         echo "Schedule of variations:" >> libgo.sum; \
3627         for dir in . $(MULTIDIRS); do \
3628           multidir=../$${dir}/$${lib}; \
3629           multivar=`cat $${multidir}/libgo.var`; \
3630           echo "    $${multivar}" >> libgo.sum; \
3631         done; \
3632         echo >> libgo.sum; \
3633         pass=0; fail=0; untested=0; \
3634         for dir in . $(MULTIDIRS); do \
3635           multidir=../$${dir}/$${lib}; \
3636           multivar=`cat $${multidir}/libgo.var`; \
3637           echo "Running target $${multivar}" >> libgo.sum; \
3638           echo "Running $(srcdir)/libgo.exp ..." >> libgo.sum; \
3639           cat $${multidir}/libgo.sum.sep >> libgo.sum; \
3640           cat $${multidir}/libgo.log.sep >> libgo.log; \
3641           if test -n "${MULTIDIRS}"; then \
3642             echo "              === libgo Summary for $${multivar} ===" >> libgo.sum; \
3643             echo >> libgo.sum; \
3644           fi; \
3645           p=`grep -c PASS $${multidir}/libgo.sum.sep`; \
3646           pass=`expr $$pass + $$p`; \
3647           if test "$$p" -ne "0" && test -n "${MULTIDIRS}"; then \
3648             echo "# of expected passes          $$p" >> libgo.sum; \
3649           fi; \
3650           p=`grep -c FAIL $${multidir}/libgo.sum.sep`; \
3651           fail=`expr $$fail + $$p`; \
3652           if test "$$p" -ne "0" && test -n "${MULTIDIRS}"; then \
3653             echo "# of unexpected failures      $$p" >> libgo.sum; \
3654           fi; \
3655           p=`grep -c UNTESTED $${multidir}/libgo.sum.sep`; \
3656           untested=`expr $$untested + $$p`; \
3657           if test "$$p" -ne "0" && test -n "${MULTIDIRS}"; then \
3658             echo "# of untested testcases               $$p" >> libgo.sum; \
3659           fi; \
3660         done; \
3661         echo >> libgo.sum; \
3662         echo "          === libgo Summary ===" >> libgo.sum; \
3663         echo >> libgo.sum; \
3664         if test "$$pass" -ne "0"; then \
3665           echo "# of expected passes            $$pass" >> libgo.sum; \
3666         fi; \
3667         if test "$$fail" -ne "0"; then \
3668           echo "# of unexpected failures        $$fail" >> libgo.sum; \
3669         fi; \
3670         if test "$$untested" -ne "0"; then \
3671           echo "# of untested testcases         $$untested" >> libgo.sum; \
3672         fi; \
3673         echo `echo $(GOC) | sed -e 's/ .*//'`  `$(GOC) -v 2>&1 | grep " version" | sed -n -e 's/.* \(version.*$$\)/\1/p'` >> libgo.sum; \
3674         echo >> libgo.log; \
3675         echo "runtest completed at `date`" >> libgo.log; \
3676         if test "$$fail" -ne "0"; then \
3677           status=1; \
3678         else \
3679           status=0; \
3680         fi; \
3681         exit $$status
3682
3683 check-am:
3684         @rm -f libgo.sum libgo.log libgo.tail
3685         @multivar="unix"; \
3686         [ -z "$(MULTIFLAGS)" ] || multivar="$${multivar}/$(MULTIFLAGS)"; \
3687         echo "$${multivar}" > libgo.var
3688         @for f in $(TEST_PACKAGES); do \
3689            rm -f $$f-testsum $$f-testlog; \
3690          done
3691         -@$(MAKE) -k $(TEST_PACKAGES)
3692         @for f in $(TEST_PACKAGES); do \
3693           if test -f $$f-testsum; then \
3694             cat $$f-testsum >> libgo.sum; \
3695           fi; \
3696           if test -f $$f-testlog; then \
3697             cat $$f-testlog >> libgo.log; \
3698           fi; \
3699         done
3700
3701 check-multi:
3702         $(MULTIDO) $(AM_MAKEFLAGS) DO=check-am multi-do # $(MAKE)
3703
3704 MOSTLYCLEAN_FILES = libgo.head libgo.sum.sep libgo.log.sep
3705
3706 mostlyclean-local:
3707         find . -name '*.lo' -print | xargs $(LIBTOOL) --mode=clean rm -f
3708         find . -name '*.$(OBJEXT)' -print | xargs rm -f
3709         find . -name '*-testsum' -print | xargs rm -f
3710         find . -name '*-testlog' -print | xargs rm -f
3711
3712 CLEANFILES = *.go *.gox goc2c *.c s-version libgo.sum libgo.log
3713
3714 clean-local:
3715         find . -name '*.la' -print | xargs $(LIBTOOL) --mode=clean rm -f
3716         find . -name '*.a' -print | xargs rm -f