OSDN Git Service

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