OSDN Git Service

PR go/47176
[pf3gnuchains/gcc-fork.git] / libgo / Makefile.am
1 # Makefile.am -- Go library Makefile.
2
3 # Copyright 2009, 2010 The Go Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style
5 # license that can be found in the LICENSE file.
6
7 # Process this file with autoreconf to produce Makefile.in.
8
9 # Go support.
10 SUFFIXES = .c .go .gox .o .obj .lo .a
11
12 if LIBGO_IS_RTEMS
13 subdirs = testsuite
14 endif
15
16 SUBDIRS = ${subdirs}
17
18 gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
19
20 MAINT_CHARSET = latin1
21
22 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
23 PWD_COMMAND = $${PWDCMD-pwd}
24 STAMP = echo timestamp >
25
26 toolexecdir = $(glibgo_toolexecdir)
27 toolexeclibdir = $(glibgo_toolexeclibdir)
28
29 LIBFFI = @LIBFFI@
30 LIBFFIINCS = @LIBFFIINCS@
31
32 WARN_CFLAGS = $(WARN_FLAGS) $(WERROR)
33
34 # -I/-D flags to pass when compiling.
35 AM_CPPFLAGS = -I $(srcdir)/runtime $(LIBFFIINCS) $(PTHREAD_CFLAGS)
36
37 ACLOCAL_AMFLAGS = -I ./config -I ../config
38
39 AM_CFLAGS = -fexceptions -fplan9-extensions $(SPLIT_STACK) $(WARN_CFLAGS) \
40         $(STRINGOPS_FLAG) \
41         -I $(srcdir)/../gcc -I $(MULTIBUILDTOP)../../gcc/include
42
43 if USING_SPLIT_STACK
44 AM_LDFLAGS = -XCClinker $(SPLIT_STACK)
45 endif
46
47 # Multilib support.
48 MAKEOVERRIDES=
49
50 # Work around what appears to be a GNU make  handling MAKEFLAGS
51 # values defined in terms of make variables, as is the case for CC and
52 # friends when we are called from the top level Makefile.
53 AM_MAKEFLAGS = \
54         "AR_FLAGS=$(AR_FLAGS)" \
55         "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
56         "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
57         "CFLAGS=$(CFLAGS)" \
58         "CXXFLAGS=$(CXXFLAGS)" \
59         "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
60         "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
61         "GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \
62         "GOC=$(GOC)" \
63         "GOCFLAGS=$(GOCFLAGS)" \
64         "INSTALL=$(INSTALL)" \
65         "INSTALL_DATA=$(INSTALL_DATA)" \
66         "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
67         "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
68         "LDFLAGS=$(LDFLAGS)" \
69         "LIBCFLAGS=$(LIBCFLAGS)" \
70         "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
71         "MAKE=$(MAKE)" \
72         "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
73         "PICFLAG=$(PICFLAG)" \
74         "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
75         "SHELL=$(SHELL)" \
76         "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
77         "exec_prefix=$(exec_prefix)" \
78         "infodir=$(infodir)" \
79         "libdir=$(libdir)" \
80         "includedir=$(includedir)" \
81         "prefix=$(prefix)" \
82         "tooldir=$(tooldir)" \
83         "gxx_include_dir=$(gxx_include_dir)" \
84         "AR=$(AR)" \
85         "AS=$(AS)" \
86         "LD=$(LD)" \
87         "RANLIB=$(RANLIB)" \
88         "NM=$(NM)" \
89         "NM_FOR_BUILD=$(NM_FOR_BUILD)" \
90         "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
91         "DESTDIR=$(DESTDIR)" \
92         "WERROR=$(WERROR)"
93
94 # Subdir rules rely on $(FLAGS_TO_PASS)
95 FLAGS_TO_PASS = $(AM_MAKEFLAGS)
96
97 toolexeclib_LTLIBRARIES = libgo.la
98 toolexeclib_LIBRARIES = libgobegin.a
99
100 toolexeclibgodir = $(toolexeclibdir)/go/$(gcc_version)/$(target_alias)
101
102 toolexeclibgo_DATA = \
103         asn1.gox \
104         big.gox \
105         bufio.gox \
106         bytes.gox \
107         cmath.gox \
108         ebnf.gox \
109         exec.gox \
110         expvar.gox \
111         flag.gox \
112         fmt.gox \
113         gob.gox \
114         hash.gox \
115         html.gox \
116         http.gox \
117         image.gox \
118         io.gox \
119         json.gox \
120         log.gox \
121         math.gox \
122         mime.gox \
123         net.gox \
124         netchan.gox \
125         os.gox \
126         patch.gox \
127         path.gox \
128         rand.gox \
129         reflect.gox \
130         regexp.gox \
131         rpc.gox \
132         runtime.gox \
133         scanner.gox \
134         smtp.gox \
135         sort.gox \
136         strconv.gox \
137         strings.gox \
138         sync.gox \
139         syscall.gox \
140         syslog.gox \
141         tabwriter.gox \
142         template.gox \
143         testing.gox \
144         time.gox \
145         try.gox \
146         unicode.gox \
147         utf16.gox \
148         utf8.gox \
149         websocket.gox \
150         xml.gox
151
152 toolexeclibgoarchivedir = $(toolexeclibgodir)/archive
153
154 toolexeclibgoarchive_DATA = \
155         archive/tar.gox \
156         archive/zip.gox
157
158 toolexeclibgocompressdir = $(toolexeclibgodir)/compress
159
160 toolexeclibgocompress_DATA = \
161         compress/flate.gox \
162         compress/gzip.gox \
163         compress/zlib.gox
164
165 toolexeclibgocontainerdir = $(toolexeclibgodir)/container
166
167 toolexeclibgocontainer_DATA = \
168         container/heap.gox \
169         container/list.gox \
170         container/ring.gox \
171         container/vector.gox
172
173 toolexeclibgocryptodir = $(toolexeclibgodir)/crypto
174
175 toolexeclibgocrypto_DATA = \
176         crypto/aes.gox \
177         crypto/block.gox \
178         crypto/blowfish.gox \
179         crypto/cast5.gox \
180         crypto/hmac.gox \
181         crypto/md4.gox \
182         crypto/md5.gox \
183         crypto/ocsp.gox \
184         crypto/rand.gox \
185         crypto/rc4.gox \
186         crypto/ripemd160.gox \
187         crypto/rsa.gox \
188         crypto/sha1.gox \
189         crypto/sha256.gox \
190         crypto/sha512.gox \
191         crypto/subtle.gox \
192         crypto/tls.gox \
193         crypto/x509.gox \
194         crypto/xtea.gox
195
196 toolexeclibgodebugdir = $(toolexeclibgodir)/debug
197
198 toolexeclibgodebug_DATA = \
199         debug/dwarf.gox \
200         debug/elf.gox \
201         debug/gosym.gox \
202         debug/macho.gox \
203         debug/pe.gox \
204         debug/proc.gox
205
206 toolexeclibgoencodingdir = $(toolexeclibgodir)/encoding
207
208 toolexeclibgoencoding_DATA = \
209         encoding/ascii85.gox \
210         encoding/base64.gox \
211         encoding/binary.gox \
212         encoding/git85.gox \
213         encoding/hex.gox \
214         encoding/pem.gox
215
216 toolexeclibgoexpdir = $(toolexeclibgodir)/exp
217
218 toolexeclibgoexp_DATA = \
219         exp/datafmt.gox \
220         exp/draw.gox \
221         exp/eval.gox
222
223 toolexeclibgogodir = $(toolexeclibgodir)/go
224
225 toolexeclibgogo_DATA = \
226         go/ast.gox \
227         go/doc.gox \
228         go/parser.gox \
229         go/printer.gox \
230         go/scanner.gox \
231         go/token.gox \
232         go/typechecker.gox
233
234 toolexeclibgohashdir = $(toolexeclibgodir)/hash
235
236 toolexeclibgohash_DATA = \
237         hash/adler32.gox \
238         hash/crc32.gox \
239         hash/crc64.gox
240
241 toolexeclibgohttpdir = $(toolexeclibgodir)/http
242
243 toolexeclibgohttp_DATA = \
244         http/pprof.gox
245
246 toolexeclibgoimagedir = $(toolexeclibgodir)/image
247
248 toolexeclibgoimage_DATA = \
249         image/jpeg.gox \
250         image/png.gox
251
252 toolexeclibgoindexdir = $(toolexeclibgodir)/index
253
254 toolexeclibgoindex_DATA = \
255         index/suffixarray.gox
256
257 toolexeclibgoiodir = $(toolexeclibgodir)/io
258
259 toolexeclibgoio_DATA = \
260         io/ioutil.gox
261
262 toolexeclibgomimedir = $(toolexeclibgodir)/mime
263
264 toolexeclibgomime_DATA = \
265         mime/multipart.gox
266
267 toolexeclibgonetdir = $(toolexeclibgodir)/net
268
269 toolexeclibgonet_DATA = \
270         net/dict.gox \
271         net/textproto.gox
272
273 toolexeclibgoosdir = $(toolexeclibgodir)/os
274
275 toolexeclibgoos_DATA = \
276         os/signal.gox
277
278 toolexeclibgorpcdir = $(toolexeclibgodir)/rpc
279
280 toolexeclibgorpc_DATA = \
281         rpc/jsonrpc.gox
282
283 toolexeclibgoruntimedir = $(toolexeclibgodir)/runtime
284
285 toolexeclibgoruntime_DATA = \
286         runtime/pprof.gox
287
288 toolexeclibgotestingdir = $(toolexeclibgodir)/testing
289
290 toolexeclibgotesting_DATA = \
291         testing/iotest.gox \
292         testing/quick.gox \
293         testing/script.gox
294
295 if HAVE_SYS_MMAN_H
296 runtime_mem_file = runtime/mem.c
297 else
298 runtime_mem_file = runtime/mem_posix_memalign.c
299 endif
300
301 if LIBGO_IS_RTEMS
302 rtems_task_variable_add_file = runtime/rtems-task-variable-add.c
303 else
304 rtems_task_variable_add_file =
305 endif
306
307 runtime_files = \
308         runtime/go-append.c \
309         runtime/go-assert.c \
310         runtime/go-assert-interface.c \
311         runtime/go-byte-array-to-string.c \
312         runtime/go-breakpoint.c \
313         runtime/go-caller.c \
314         runtime/go-can-convert-interface.c \
315         runtime/go-chan-cap.c \
316         runtime/go-chan-len.c \
317         runtime/go-check-interface.c \
318         runtime/go-close.c \
319         runtime/go-closed.c \
320         runtime/go-construct-map.c \
321         runtime/go-convert-interface.c \
322         runtime/go-copy.c \
323         runtime/go-defer.c \
324         runtime/go-deferred-recover.c \
325         runtime/go-eface-compare.c \
326         runtime/go-eface-val-compare.c \
327         runtime/go-getgoroot.c \
328         runtime/go-go.c \
329         runtime/go-gomaxprocs.c \
330         runtime/go-int-array-to-string.c \
331         runtime/go-int-to-string.c \
332         runtime/go-interface-compare.c \
333         runtime/go-interface-val-compare.c \
334         runtime/go-lock-os-thread.c \
335         runtime/go-map-delete.c \
336         runtime/go-map-index.c \
337         runtime/go-map-len.c \
338         runtime/go-map-range.c \
339         runtime/go-nanotime.c \
340         runtime/go-new-channel.c \
341         runtime/go-new-map.c \
342         runtime/go-new.c \
343         runtime/go-note.c \
344         runtime/go-panic.c \
345         runtime/go-panic-defer.c \
346         runtime/go-print.c \
347         runtime/go-rec-big.c \
348         runtime/go-rec-nb-big.c \
349         runtime/go-rec-nb-small.c \
350         runtime/go-rec-small.c \
351         runtime/go-recover.c \
352         runtime/go-reflect.c \
353         runtime/go-reflect-call.c \
354         runtime/go-reflect-chan.c \
355         runtime/go-reflect-map.c \
356         runtime/go-rune.c \
357         runtime/go-runtime-error.c \
358         runtime/go-sched.c \
359         runtime/go-select.c \
360         runtime/go-semacquire.c \
361         runtime/go-send-big.c \
362         runtime/go-send-nb-big.c \
363         runtime/go-send-nb-small.c \
364         runtime/go-send-small.c \
365         runtime/go-signal.c \
366         runtime/go-strcmp.c \
367         runtime/go-string-to-byte-array.c \
368         runtime/go-string-to-int-array.c \
369         runtime/go-strplus.c \
370         runtime/go-strslice.c \
371         runtime/go-trampoline.c \
372         runtime/go-type-eface.c \
373         runtime/go-type-error.c \
374         runtime/go-type-identity.c \
375         runtime/go-type-interface.c \
376         runtime/go-type-string.c \
377         runtime/go-typedesc-equal.c \
378         runtime/go-typestring.c \
379         runtime/go-unreflect.c \
380         runtime/go-unsafe-new.c \
381         runtime/go-unsafe-newarray.c \
382         runtime/go-unsafe-pointer.c \
383         runtime/go-unwind.c \
384         runtime/mcache.c \
385         runtime/mcentral.c \
386         $(runtime_mem_file) \
387         runtime/mfinal.c \
388         runtime/mfixalloc.c \
389         runtime/mgc0.c \
390         runtime/mheap.c \
391         runtime/mheapmap32.c \
392         runtime/mheapmap64.c \
393         runtime/msize.c \
394         runtime/proc.c \
395         runtime/thread.c \
396         $(rtems_task_variable_add_file) \
397         chan.c \
398         iface.c \
399         malloc.c \
400         map.c \
401         mprof.c \
402         reflect.c \
403         sigqueue.c \
404         string.c
405
406 goc2c.$(OBJEXT): runtime/goc2c.c
407         $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) $<
408
409 goc2c: goc2c.$(OBJEXT)
410         $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ $<
411
412 malloc.c: $(srcdir)/runtime/malloc.goc goc2c
413         ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
414         mv -f $@.tmp $@
415
416 mprof.c: $(srcdir)/runtime/mprof.goc goc2c
417         ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
418         mv -f $@.tmp $@
419
420 reflect.c: $(srcdir)/runtime/reflect.goc goc2c
421         ./goc2c --gcc --go-prefix libgo_reflect $< > $@.tmp
422         mv -f $@.tmp $@
423
424 sigqueue.c: $(srcdir)/runtime/sigqueue.goc goc2c
425         ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
426         mv -f $@.tmp $@
427
428 %.c: $(srcdir)/runtime/%.goc goc2c
429         ./goc2c --gcc $< > $@.tmp
430         mv -f $@.tmp $@
431
432 go_asn1_files = \
433         go/asn1/asn1.go \
434         go/asn1/common.go \
435         go/asn1/marshal.go
436
437 go_big_files = \
438         go/big/arith.go \
439         go/big/int.go \
440         go/big/nat.go \
441         go/big/rat.go
442
443 go_bufio_files = \
444         go/bufio/bufio.go
445
446 go_bytes_files = \
447         go/bytes/buffer.go \
448         go/bytes/bytes.go \
449         go/bytes/bytes_decl.go
450 go_bytes_c_files = \
451         go/bytes/indexbyte.c
452
453 go_cmath_files = \
454         go/cmath/abs.go \
455         go/cmath/asin.go \
456         go/cmath/conj.go \
457         go/cmath/exp.go \
458         go/cmath/isinf.go \
459         go/cmath/isnan.go \
460         go/cmath/log.go \
461         go/cmath/phase.go \
462         go/cmath/polar.go \
463         go/cmath/pow.go \
464         go/cmath/rect.go \
465         go/cmath/sin.go \
466         go/cmath/sqrt.go \
467         go/cmath/tan.go
468
469 go_ebnf_files = \
470         go/ebnf/ebnf.go \
471         go/ebnf/parser.go
472
473 go_exec_files = \
474         go/exec/exec.go \
475         go/exec/lp_unix.go
476
477 go_expvar_files = \
478         go/expvar/expvar.go
479
480 go_flag_files = \
481         go/flag/flag.go
482
483 go_fmt_files = \
484         go/fmt/doc.go \
485         go/fmt/format.go \
486         go/fmt/print.go \
487         go/fmt/scan.go
488
489 go_gob_files = \
490         go/gob/decode.go \
491         go/gob/decoder.go \
492         go/gob/doc.go \
493         go/gob/encode.go \
494         go/gob/encoder.go \
495         go/gob/error.go \
496         go/gob/type.go
497
498 go_hash_files = \
499         go/hash/hash.go
500
501 go_html_files = \
502         go/html/doc.go \
503         go/html/entity.go \
504         go/html/escape.go \
505         go/html/token.go
506
507 go_http_files = \
508         go/http/chunked.go \
509         go/http/client.go \
510         go/http/dump.go \
511         go/http/fs.go \
512         go/http/lex.go \
513         go/http/persist.go \
514         go/http/request.go \
515         go/http/response.go \
516         go/http/server.go \
517         go/http/status.go \
518         go/http/transfer.go \
519         go/http/url.go
520
521 go_image_files = \
522         go/image/color.go \
523         go/image/format.go \
524         go/image/geom.go \
525         go/image/image.go \
526         go/image/names.go
527
528 go_io_files = \
529         go/io/multi.go \
530         go/io/io.go \
531         go/io/pipe.go
532
533 go_json_files = \
534         go/json/decode.go \
535         go/json/encode.go \
536         go/json/indent.go \
537         go/json/scanner.go \
538         go/json/stream.go
539
540 go_log_files = \
541         go/log/log.go
542
543 go_math_files = \
544         go/math/acosh.go \
545         go/math/asin.go \
546         go/math/asinh.go \
547         go/math/atan.go \
548         go/math/atanh.go \
549         go/math/atan2.go \
550         go/math/bits.go \
551         go/math/cbrt.go \
552         go/math/const.go \
553         go/math/copysign.go \
554         go/math/erf.go \
555         go/math/exp.go \
556         go/math/exp2.go \
557         go/math/expm1.go \
558         go/math/fabs.go \
559         go/math/fdim.go \
560         go/math/floor.go \
561         go/math/fmod.go \
562         go/math/frexp.go \
563         go/math/gamma.go \
564         go/math/hypot.go \
565         go/math/hypot_port.go \
566         go/math/j0.go \
567         go/math/j1.go \
568         go/math/jn.go \
569         go/math/ldexp.go \
570         go/math/lgamma.go \
571         go/math/log.go \
572         go/math/log1p.go \
573         go/math/log10.go \
574         go/math/logb.go \
575         go/math/modf.go \
576         go/math/nextafter.go \
577         go/math/pow.go \
578         go/math/pow10.go \
579         go/math/remainder.go \
580         go/math/signbit.go \
581         go/math/sin.go \
582         go/math/sincos.go \
583         go/math/sinh.go \
584         go/math/sqrt.go \
585         go/math/sqrt_port.go \
586         go/math/tan.go \
587         go/math/tanh.go \
588         go/math/unsafe.go
589
590 go_mime_files = \
591         go/mime/grammar.go \
592         go/mime/mediatype.go \
593         go/mime/type.go
594
595 if LIBGO_IS_RTEMS
596 go_net_fd_os_file = go/net/fd_rtems.go
597 go_net_newpollserver_file = go/net/newpollserver_rtems.go
598 else
599 go_net_fd_os_file = go/net/fd_linux.go
600 go_net_newpollserver_file = go/net/newpollserver.go
601 endif
602
603 go_net_files = \
604         go/net/dial.go \
605         go/net/dnsclient.go \
606         go/net/dnsconfig.go \
607         go/net/dnsmsg.go \
608         $(go_net_newpollserver_file) \
609         go/net/fd.go \
610         $(go_net_fd_os_file) \
611         go/net/hosts.go \
612         go/net/ip.go \
613         go/net/iprawsock.go \
614         go/net/ipsock.go \
615         go/net/net.go \
616         go/net/parse.go \
617         go/net/pipe.go \
618         go/net/port.go \
619         go/net/sock.go \
620         go/net/tcpsock.go \
621         go/net/udpsock.go \
622         go/net/unixsock.go
623
624 go_netchan_files = \
625         go/netchan/common.go \
626         go/netchan/export.go \
627         go/netchan/import.go
628
629 go_os_files = \
630         go/os/dir.go \
631         go/os/env.go \
632         go/os/env_unix.go \
633         go/os/error.go \
634         go/os/exec.go \
635         go/os/file.go \
636         go/os/file_unix.go \
637         go/os/getwd.go \
638         go/os/path.go \
639         go/os/proc.go \
640         go/os/stat.go \
641         go/os/sys_linux.go \
642         go/os/time.go \
643         go/os/types.go
644
645 go_patch_files = \
646         go/patch/apply.go \
647         go/patch/git.go \
648         go/patch/patch.go \
649         go/patch/textdiff.go
650
651 go_path_files = \
652         go/path/match.go \
653         go/path/path.go
654
655 go_rand_files = \
656         go/rand/exp.go \
657         go/rand/normal.go \
658         go/rand/rand.go \
659         go/rand/rng.go \
660         go/rand/zipf.go
661
662 go_reflect_files = \
663         go/reflect/deepequal.go \
664         go/reflect/type.go \
665         go/reflect/value.go
666
667 go_regexp_files = \
668         go/regexp/regexp.go
669
670 go_rpc_files = \
671         go/rpc/client.go \
672         go/rpc/debug.go \
673         go/rpc/server.go
674
675 go_runtime_files = \
676         go/runtime/debug.go \
677         go/runtime/error.go \
678         go/runtime/extern.go \
679         go/runtime/sig.go \
680         go/runtime/softfloat64.go \
681         go/runtime/type.go \
682         version.go
683
684 if LIBGO_IS_386
685 GOARCH = 386
686 else
687 if LIBGO_IS_X86_64
688 GOARCH = amd64
689 else
690 if LIBGO_IS_ARM
691 GOARCH = arm
692 else
693 GOARCH = unknown
694 endif
695 endif
696 endif
697
698 if LIBGO_IS_LINUX
699 GOOS = linux
700 else
701 if LIBGO_IS_DARWIN
702 GOOS = darwin
703 else
704 if LIBGO_IS_FREEBSD
705 GOOS = freebsd
706 else
707 if LIBGO_IS_RTEMS
708 GOOS = rtems
709 else
710 GOOS = unknown
711 endif
712 endif
713 endif
714 endif
715
716 version.go: s-version; @true
717 s-version: Makefile
718         rm -f version.go.tmp
719         echo "package runtime" > version.go.tmp
720         echo 'const defaultGoroot = "$(prefix)"' >> version.go.tmp
721         echo 'const theVersion = "'`$(CC) --version | sed 1q`'"' >> version.go.tmp
722         echo 'const theGoarch = "'$(GOARCH)'"' >> version.go.tmp
723         echo 'const theGoos = "'$(GOOS)'"' >> version.go.tmp
724         $(SHELL) $(srcdir)/../move-if-change version.go.tmp version.go
725         $(STAMP) $@
726
727 go_scanner_files = \
728         go/scanner/scanner.go
729
730 go_smtp_files = \
731         go/smtp/auth.go \
732         go/smtp/smtp.go
733
734 go_sort_files = \
735         go/sort/sort.go
736
737 go_strconv_files = \
738         go/strconv/atob.go \
739         go/strconv/atof.go \
740         go/strconv/atoi.go \
741         go/strconv/decimal.go \
742         go/strconv/ftoa.go \
743         go/strconv/itoa.go \
744         go/strconv/quote.go
745
746 go_strings_files = \
747         go/strings/reader.go \
748         go/strings/strings.go
749
750 go_sync_files = \
751         go/sync/mutex.go \
752         go/sync/once.go \
753         go/sync/rwmutex.go
754 go_sync_c_files = \
755         go/sync/cas.c
756
757 go_syslog_files = \
758         go/syslog/syslog.go
759
760 go_tabwriter_files = \
761         go/tabwriter/tabwriter.go
762
763 go_template_files = \
764         go/template/format.go \
765         go/template/template.go
766
767 go_testing_files = \
768         go/testing/benchmark.go \
769         go/testing/testing.go
770
771 go_time_files = \
772         go/time/format.go \
773         go/time/sleep.go \
774         go/time/tick.go \
775         go/time/time.go \
776         go/time/zoneinfo_unix.go
777
778 go_try_files = \
779         go/try/try.go
780
781 go_unicode_files = \
782         go/unicode/casetables.go \
783         go/unicode/digit.go \
784         go/unicode/letter.go \
785         go/unicode/tables.go
786
787 go_utf16_files = \
788         go/utf16/utf16.go
789
790 go_utf8_files = \
791         go/utf8/string.go \
792         go/utf8/utf8.go
793
794 go_websocket_files = \
795         go/websocket/client.go \
796         go/websocket/server.go \
797         go/websocket/websocket.go
798
799 go_xml_files = \
800         go/xml/read.go \
801         go/xml/xml.go
802
803 go_archive_tar_files = \
804         go/archive/tar/common.go \
805         go/archive/tar/reader.go \
806         go/archive/tar/writer.go
807
808 go_archive_zip_files = \
809         go/archive/zip/reader.go \
810         go/archive/zip/struct.go
811
812 go_compress_flate_files = \
813         go/compress/flate/deflate.go \
814         go/compress/flate/huffman_bit_writer.go \
815         go/compress/flate/huffman_code.go \
816         go/compress/flate/inflate.go \
817         go/compress/flate/reverse_bits.go \
818         go/compress/flate/token.go \
819         go/compress/flate/util.go
820
821 go_compress_gzip_files = \
822         go/compress/gzip/gzip.go \
823         go/compress/gzip/gunzip.go
824
825 go_compress_zlib_files = \
826         go/compress/zlib/reader.go \
827         go/compress/zlib/writer.go
828
829 go_container_heap_files = \
830         go/container/heap/heap.go
831
832 go_container_list_files = \
833         go/container/list/list.go
834
835 go_container_ring_files = \
836         go/container/ring/ring.go
837
838 go_container_vector_files = \
839         go/container/vector/defs.go \
840         go/container/vector/intvector.go \
841         go/container/vector/stringvector.go \
842         go/container/vector/vector.go
843
844 go_crypto_aes_files = \
845         go/crypto/aes/block.go \
846         go/crypto/aes/cipher.go \
847         go/crypto/aes/const.go
848 go_crypto_block_files = \
849         go/crypto/block/cbc.go \
850         go/crypto/block/cfb.go \
851         go/crypto/block/cmac.go \
852         go/crypto/block/cipher.go \
853         go/crypto/block/ctr.go \
854         go/crypto/block/eax.go \
855         go/crypto/block/ecb.go \
856         go/crypto/block/ofb.go \
857         go/crypto/block/xor.go
858 go_crypto_blowfish_files = \
859         go/crypto/blowfish/block.go \
860         go/crypto/blowfish/const.go \
861         go/crypto/blowfish/cipher.go
862 go_crypto_cast5_files = \
863         go/crypto/cast5/cast5.go
864 go_crypto_hmac_files = \
865         go/crypto/hmac/hmac.go
866 go_crypto_md4_files = \
867         go/crypto/md4/md4.go \
868         go/crypto/md4/md4block.go
869 go_crypto_md5_files = \
870         go/crypto/md5/md5.go \
871         go/crypto/md5/md5block.go
872 go_crypto_ocsp_files = \
873         go/crypto/ocsp/ocsp.go
874 go_crypto_rand_files = \
875         go/crypto/rand/rand.go \
876         go/crypto/rand/rand_unix.go
877 go_crypto_rc4_files = \
878         go/crypto/rc4/rc4.go
879 go_crypto_ripemd160_files = \
880         go/crypto/ripemd160/ripemd160.go \
881         go/crypto/ripemd160/ripemd160block.go
882 go_crypto_rsa_files = \
883         go/crypto/rsa/pkcs1v15.go \
884         go/crypto/rsa/rsa.go
885 go_crypto_sha1_files = \
886         go/crypto/sha1/sha1.go \
887         go/crypto/sha1/sha1block.go
888 go_crypto_sha256_files = \
889         go/crypto/sha256/sha256.go \
890         go/crypto/sha256/sha256block.go
891 go_crypto_sha512_files = \
892         go/crypto/sha512/sha512.go \
893         go/crypto/sha512/sha512block.go
894 go_crypto_subtle_files = \
895         go/crypto/subtle/constant_time.go
896 go_crypto_tls_files = \
897         go/crypto/tls/alert.go \
898         go/crypto/tls/ca_set.go \
899         go/crypto/tls/common.go \
900         go/crypto/tls/conn.go \
901         go/crypto/tls/handshake_client.go \
902         go/crypto/tls/handshake_messages.go \
903         go/crypto/tls/handshake_server.go \
904         go/crypto/tls/prf.go \
905         go/crypto/tls/tls.go
906 go_crypto_x509_files = \
907         go/crypto/x509/x509.go
908 go_crypto_xtea_files = \
909         go/crypto/xtea/block.go \
910         go/crypto/xtea/cipher.go
911
912 go_debug_dwarf_files = \
913         go/debug/dwarf/buf.go \
914         go/debug/dwarf/const.go \
915         go/debug/dwarf/entry.go \
916         go/debug/dwarf/open.go \
917         go/debug/dwarf/type.go \
918         go/debug/dwarf/unit.go
919 go_debug_elf_files = \
920         go/debug/elf/elf.go \
921         go/debug/elf/file.go
922 go_debug_gosym_files = \
923         go/debug/gosym/pclntab.go \
924         go/debug/gosym/symtab.go
925 go_debug_macho_files = \
926         go/debug/macho/file.go \
927         go/debug/macho/macho.go
928 go_debug_pe_files = \
929         go/debug/pe/file.go \
930         go/debug/pe/pe.go
931
932 if LIBGO_IS_LINUX
933 proc_file = go/debug/proc/proc_linux.go
934 if LIBGO_IS_386
935 regs_file = go/debug/proc/regs_linux_386.go
936 else
937 if LIBGO_IS_X86_64
938 regs_file = go/debug/proc/regs_linux_amd64.go
939 else
940 regs_file =
941 endif
942 endif
943 else
944 if LIBGO_IS_DARWIN
945 proc_file = go/debug/proc/proc_darwin.go
946 if LIBGO_IS_386
947 regs_file = go/debug/proc/regs_darwin_386.go
948 else
949 if LIBGO_IS_X86_64
950 regs_file = go/debug/proc/regs_darwin_amd64.go
951 else
952 regs_file =
953 endif
954 endif
955 else
956 if LIBGO_IS_FREEBSD
957 proc_file = go/debug/proc/proc_freebsd.go
958 if LIBGO_IS_386
959 regs_file = go/debug/proc/regs_freebsd_386.go
960 else
961 if LIBGO_IS_X86_64
962 regs_file = go/debug/proc/regs_freebsd_amd64.go
963 else
964 regs_file =
965 endif
966 endif
967 else
968 proc_file =
969 regs_file =
970 endif
971 endif
972 endif
973
974 go_debug_proc_files = \
975         go/debug/proc/proc.go \
976         $(proc_file) \
977         $(regs_file)
978
979 go_encoding_ascii85_files = \
980         go/encoding/ascii85/ascii85.go
981 go_encoding_base64_files = \
982         go/encoding/base64/base64.go
983 go_encoding_binary_files = \
984         go/encoding/binary/binary.go
985 go_encoding_git85_files = \
986         go/encoding/git85/git.go
987 go_encoding_hex_files = \
988         go/encoding/hex/hex.go
989 go_encoding_pem_files = \
990         go/encoding/pem/pem.go
991
992 go_exp_datafmt_files = \
993         go/exp/datafmt/datafmt.go \
994         go/exp/datafmt/parser.go
995 go_exp_draw_files = \
996         go/exp/draw/draw.go \
997         go/exp/draw/event.go
998 go_exp_eval_files = \
999         go/exp/eval/abort.go \
1000         go/exp/eval/bridge.go \
1001         go/exp/eval/compiler.go \
1002         go/exp/eval/expr.go \
1003         go/exp/eval/expr1.go \
1004         go/exp/eval/func.go \
1005         go/exp/eval/scope.go \
1006         go/exp/eval/stmt.go \
1007         go/exp/eval/type.go \
1008         go/exp/eval/typec.go \
1009         go/exp/eval/value.go \
1010         go/exp/eval/world.go
1011
1012 go_go_ast_files = \
1013         go/go/ast/ast.go \
1014         go/go/ast/filter.go \
1015         go/go/ast/print.go \
1016         go/go/ast/scope.go \
1017         go/go/ast/walk.go
1018 go_go_doc_files = \
1019         go/go/doc/comment.go \
1020         go/go/doc/doc.go
1021 go_go_parser_files = \
1022         go/go/parser/interface.go \
1023         go/go/parser/parser.go
1024 go_go_printer_files = \
1025         go/go/printer/nodes.go \
1026         go/go/printer/printer.go
1027 go_go_scanner_files = \
1028         go/go/scanner/errors.go \
1029         go/go/scanner/scanner.go
1030 go_go_token_files = \
1031         go/go/token/token.go
1032 go_go_typechecker_files = \
1033         go/go/typechecker/scope.go \
1034         go/go/typechecker/typechecker.go \
1035         go/go/typechecker/universe.go
1036
1037 go_hash_adler32_files = \
1038         go/hash/adler32/adler32.go
1039 go_hash_crc32_files = \
1040         go/hash/crc32/crc32.go
1041 go_hash_crc64_files = \
1042         go/hash/crc64/crc64.go
1043
1044 go_http_pprof_files = \
1045         go/http/pprof/pprof.go
1046
1047 go_image_jpeg_files = \
1048         go/image/jpeg/huffman.go \
1049         go/image/jpeg/idct.go \
1050         go/image/jpeg/reader.go
1051
1052 go_image_png_files = \
1053         go/image/png/reader.go \
1054         go/image/png/writer.go
1055
1056 go_index_suffixarray_files = \
1057         go/index/suffixarray/suffixarray.go
1058
1059 go_io_ioutil_files = \
1060         go/io/ioutil/ioutil.go \
1061         go/io/ioutil/tempfile.go
1062
1063 go_mime_multipart_files = \
1064         go/mime/multipart/multipart.go
1065
1066 go_net_dict_files = \
1067         go/net/dict/dict.go
1068
1069 go_net_textproto_files = \
1070         go/net/textproto/pipeline.go \
1071         go/net/textproto/reader.go \
1072         go/net/textproto/textproto.go \
1073         go/net/textproto/writer.go
1074
1075 go_os_signal_files = \
1076         go/os/signal/signal.go \
1077         unix.go
1078
1079 go_rpc_jsonrpc_files = \
1080         go/rpc/jsonrpc/client.go \
1081         go/rpc/jsonrpc/server.go
1082
1083 go_runtime_pprof_files = \
1084         go/runtime/pprof/pprof.go
1085
1086 go_testing_iotest_files = \
1087         go/testing/iotest/logger.go \
1088         go/testing/iotest/reader.go \
1089         go/testing/iotest/writer.go
1090 go_testing_quick_files = \
1091         go/testing/quick/quick.go
1092 go_testing_script_files = \
1093         go/testing/script/script.go
1094
1095 if LIBGO_IS_LINUX
1096 syscall_os_file = syscalls/syscall_linux.go
1097 if LIBGO_IS_386
1098 syscall_arch_file = syscalls/syscall_linux_386.go
1099 else
1100 if LIBGO_IS_X86_64
1101 syscall_arch_file = syscalls/syscall_linux_amd64.go
1102 else
1103 syscall_arch_file =
1104 endif
1105 endif
1106 else
1107 syscall_os_file =
1108 syscall_arch_file =
1109 endif
1110
1111 if LIBGO_IS_RTEMS
1112 syscall_exec_os_file = syscalls/exec_stubs.go
1113 syscall_socket_os_file = syscalls/socket_bsd.go
1114 syscall_socket_epoll_file=
1115 syscall_sysfile_os_file = syscalls/sysfile_rtems.go
1116 syscall_syscall_file = syscalls/syscall_stubs.go
1117 syscall_errstr_file = syscalls/errstr_rtems.go
1118 syscall_errstr_decl_file = syscalls/errstr_decl_rtems.go
1119 else
1120 syscall_exec_os_file = syscalls/exec.go
1121 syscall_socket_os_file = syscalls/socket_linux.go
1122 syscall_socket_epoll_file = syscalls/socket_epoll.go
1123 syscall_sysfile_os_file = syscalls/sysfile_linux.go
1124 syscall_syscall_file = syscalls/syscall.go
1125 syscall_errstr_file = syscalls/errstr.go
1126 if LIBGO_IS_LINUX
1127 syscall_errstr_decl_file = syscalls/errstr_decl_linux.go
1128 else
1129 syscall_errstr_decl_file = syscalls/errstr_decl.go
1130 endif
1131 endif
1132
1133 go_syscall_files = \
1134         $(syscall_errstr_file) \
1135         $(syscall_errstr_decl_file) \
1136         syscalls/exec_helpers.go \
1137         $(syscall_exec_os_file) \
1138         syscalls/socket.go \
1139         $(syscall_socket_os_file) \
1140         $(syscall_socket_epoll_file) \
1141         $(syscall_syscall_file) \
1142         syscalls/syscall_unix.go \
1143         syscalls/stringbyte.go \
1144         $(syscall_os_file) \
1145         $(syscall_arch_file) \
1146         syscalls/sysfile_posix.go \
1147         $(syscall_sysfile_os_file) \
1148         sysinfo.go
1149 go_syscall_c_files = \
1150         syscalls/errno.c
1151
1152 libgo_go_objs = \
1153         asn1/libasn1.la \
1154         big/libbig.la \
1155         bufio/libbufio.la \
1156         bytes/libbytes.la \
1157         cmath/libcmath.la \
1158         ebnf/libebnf.la \
1159         exec/libexec.la \
1160         expvar/libexpvar.la \
1161         flag/libflag.la \
1162         fmt/libfmt.la \
1163         gob/libgob.la \
1164         hash/libhash.la \
1165         html/libhtml.la \
1166         http/libhttp.la \
1167         image/libimage.la \
1168         io/libio.la \
1169         json/libjson.la \
1170         log/liblog.la \
1171         math/libmath.la \
1172         mime/libmime.la \
1173         net/libnet.la \
1174         netchan/libnetchan.la \
1175         os/libos.la \
1176         patch/libpatch.la \
1177         path/libpath.la \
1178         rand/librand.la \
1179         reflect/libreflect.la \
1180         regexp/libregexp.la \
1181         rpc/librpc.la \
1182         runtime/libruntime.la \
1183         scanner/libscanner.la \
1184         smtp/libsmtp.la \
1185         sort/libsort.la \
1186         strconv/libstrconv.la \
1187         strings/libstrings.la \
1188         sync/libsync.la \
1189         syslog/libsyslog.la \
1190         tabwriter/libtabwriter.la \
1191         template/libtemplate.la \
1192         time/libtime.la \
1193         try/libtry.la \
1194         unicode/libunicode.la \
1195         utf16/libutf16.la \
1196         utf8/libutf8.la \
1197         websocket/libwebsocket.la \
1198         xml/libxml.la \
1199         archive/libtar.la \
1200         archive/libzip.la \
1201         compress/libflate.la \
1202         compress/libgzip.la \
1203         compress/libzlib.la \
1204         container/libheap.la \
1205         container/liblist.la \
1206         container/libring.la \
1207         container/libvector.la \
1208         crypto/libaes.la \
1209         crypto/libblock.la \
1210         crypto/libblowfish.la \
1211         crypto/libcast5.la \
1212         crypto/libhmac.la \
1213         crypto/libmd4.la \
1214         crypto/libmd5.la \
1215         crypto/libocsp.la \
1216         crypto/librand.la \
1217         crypto/librc4.la \
1218         crypto/libripemd160.la \
1219         crypto/librsa.la \
1220         crypto/libsha1.la \
1221         crypto/libsha256.la \
1222         crypto/libsha512.la \
1223         crypto/libsubtle.la \
1224         crypto/libtls.la \
1225         crypto/libx509.la \
1226         crypto/libxtea.la \
1227         debug/libdwarf.la \
1228         debug/libelf.la \
1229         debug/libgosym.la \
1230         debug/libmacho.la \
1231         debug/libpe.la \
1232         debug/libproc.la \
1233         encoding/libascii85.la \
1234         encoding/libbase64.la \
1235         encoding/libbinary.la \
1236         encoding/libgit85.la \
1237         encoding/libhex.la \
1238         encoding/libpem.la \
1239         exp/libdatafmt.la \
1240         exp/libdraw.la \
1241         exp/libeval.la \
1242         go/libast.la \
1243         go/libdoc.la \
1244         go/libparser.la \
1245         go/libprinter.la \
1246         go/libscanner.la \
1247         go/libtoken.la \
1248         go/libtypechecker.la \
1249         hash/libadler32.la \
1250         hash/libcrc32.la \
1251         hash/libcrc64.la \
1252         http/libpprof.la \
1253         image/libjpeg.la \
1254         image/libpng.la \
1255         index/libsuffixarray.la \
1256         io/libioutil.la \
1257         mime/libmultipart.la \
1258         net/libdict.la \
1259         net/libtextproto.la \
1260         os/libsignal.la \
1261         rpc/libjsonrpc.la \
1262         runtime/libpprof.la \
1263         syscalls/libsyscall.la \
1264         testing/libtesting.la \
1265         testing/libiotest.la \
1266         testing/libquick.la \
1267         testing/libscript.la
1268
1269 libgo_la_SOURCES = $(runtime_files)
1270
1271 libgo_la_LIBADD = $(libgo_go_objs) $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS)
1272
1273 libgobegin_a_SOURCES = \
1274         runtime/go-main.c
1275
1276 LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
1277
1278 GOCFLAGS = $(CFLAGS)
1279 AM_GOCFLAGS = $(STRINGOPS_FLAG)
1280 GOCOMPILE = $(GOC) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_GOCFLAGS) $(GOCFLAGS)
1281
1282 LTGOCOMPILE = $(LIBTOOL) --tag GO --mode=compile $(GOC) $(INCLUDES) \
1283         $(AM_GOCFLAGS) $(GOCFLAGS)
1284
1285 GOLINK = $(LIBTOOL) --tag GO --mode-link $(GOC) \
1286         $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_GOCFLAGS) $(LTLDFLAGS) \
1287         $(PTHREAD_LIBS) $(MATH_LIBS) -o $@
1288
1289 # Build a package.
1290 BUILDARCHIVE = \
1291         rm -f `echo $@ | sed -e 's|/lib|/|' -e 's/\.a/.gox/'`; \
1292         test -d $(@D) || $(MKDIR_P) $(@D); \
1293         rm -f $@; \
1294         files=`echo $^ | sed -e 's/[^ ]*\.gox//g'`; \
1295         if $(LTGOCOMPILE) -I . -c -fgo-prefix="libgo_$(@D)" -o $@.$(OBJEXT) $$files; then \
1296           $(AR) rc $@ $@.$(OBJEXT); \
1297         else exit 1; fi
1298
1299 # Build a .la file from a .a file.
1300 .a.la:
1301         $(LINK) $<.lo
1302
1303 if LIBGO_IS_RTEMS
1304 use_dejagnu = yes
1305 else
1306 use_dejagnu = no
1307 endif
1308
1309 # Check a package.
1310 CHECK = \
1311         @GC="$(GOC) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs -Wl,-R,`${PWD_COMMAND}`/.libs"; \
1312         export GC; \
1313         RUNTESTFLAGS="$(RUNTESTFLAGS)"; \
1314         export RUNTESTFLAGS; \
1315         MAKE="$(MAKE)"; \
1316         export MAKE; \
1317         rm -f $@-log; \
1318         echo -n "$(@D) " >$@-log 2>&1; \
1319         prefix=`if test "$(@D)" = "regexp"; then echo regexp-test; else dirname $(@D); fi`; \
1320         test "$${prefix}" != "." || prefix="$(@D)"; \
1321         $(srcdir)/testsuite/gotest --dejagnu=$(use_dejagnu) --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" >>$@-log 2>&1; \
1322         x=$$?; \
1323         cat $@-log; \
1324         exit $$x
1325
1326 # Build all packages before checking any.
1327 CHECK_DEPS = libgo.la libgobegin.a \
1328         $(toolexeclib_DATA) \
1329         $(toolexeclibarchive_DATA) \
1330         $(toolexeclibcompress_DATA) \
1331         $(toolexeclibcontainer_DATA) \
1332         $(toolexeclibcrypto_DATA) \
1333         $(toolexeclibdebug_DATA) \
1334         $(toolexeclibencoding_DATA) \
1335         $(toolexeclibexp_DATA) \
1336         $(toolexeclibgo_DATA) \
1337         $(toolexeclibhash_DATA) \
1338         $(toolexeclibhttp_DATA) \
1339         $(toolexeclibimage_DATA) \
1340         $(toolexeclibio_DATA) \
1341         $(toolexeclibos_DATA) \
1342         $(toolexeclibrpc_DATA) \
1343         $(toolexeclibruntime_DATA) \
1344         $(toolexeclibtesting_DATA)
1345
1346 asn1/libasn1.a: $(go_asn1_files) bytes.gox fmt.gox io.gox os.gox reflect.gox \
1347                 strconv.gox strings.gox time.gox
1348         $(BUILDARCHIVE)
1349 asn1/libasn1.la: asn1/libasn1.a
1350 asn1/check: $(CHECK_DEPS)
1351         $(CHECK)
1352 .PHONY: asn1/check
1353
1354 big/libbig.a: $(go_big_files) fmt.gox rand.gox strings.gox
1355         $(BUILDARCHIVE)
1356 big/libbig.la: big/libbig.a
1357 big/check: $(CHECK_DEPS)
1358         $(CHECK)
1359 .PHONY: big/check
1360
1361 bufio/libbufio.a: $(go_bufio_files) bytes.gox io.gox os.gox strconv.gox \
1362                 utf8.gox
1363         $(BUILDARCHIVE)
1364 bufio/libbufio.la: bufio/libbufio.a
1365 bufio/check: $(CHECK_DEPS)
1366         $(CHECK)
1367 .PHONY: bufio/check
1368
1369 bytes/libbytes.a: $(go_bytes_files) $(go_bytes_c_files) io.gox os.gox \
1370                 unicode.gox utf8.gox
1371         test -d bytes || $(MKDIR_P) bytes
1372         $(LTGOCOMPILE) -c -o bytes/bytes.$(OBJEXT) -fgo-prefix=libgo_bytes $(srcdir)/go/bytes/buffer.go $(srcdir)/go/bytes/bytes.go $(srcdir)/go/bytes/bytes_decl.go
1373         $(LTCOMPILE) -c -o bytes/index.$(OBJEXT) $(srcdir)/go/bytes/indexbyte.c
1374         rm -f $@
1375         $(AR) rc $@ bytes/bytes.$(OBJEXT) bytes/index.$(OBJEXT)
1376 bytes/libbytes.la: bytes/libbytes.a
1377         $(LINK) bytes/bytes.lo bytes/index.lo
1378 bytes/check: $(CHECK_DEPS)
1379         $(CHECK)
1380 .PHONY: bytes/check
1381
1382 cmath/libcmath.a: $(go_cmath_files) math.gox
1383         $(BUILDARCHIVE)
1384 cmath/libcmath.la: cmath/libcmath.a
1385 cmath/check: $(CHECK_DEPS)
1386         $(CHECK)
1387 .PHONY: cmath/check
1388
1389 ebnf/libebnf.a: $(go_ebnf_files) container/vector.gox go/scanner.gox \
1390                 go/token.gox os.gox strconv.gox unicode.gox utf8.gox
1391         $(BUILDARCHIVE)
1392 ebnf/libebnf.la: ebnf/libebnf.a
1393 ebnf/check: $(CHECK_DEPS)
1394         $(CHECK)
1395 .PHONY: ebnf/check
1396
1397 exec/libexec.a: $(go_exec_files) os.gox strings.gox
1398         $(BUILDARCHIVE)
1399 exec/libexec.la: exec/libexec.a
1400 exec/check: $(CHECK_DEPS)
1401         $(CHECK)
1402 .PHONY: exec/check
1403
1404 expvar/libexpvar.a: $(go_expvar_files) bytes.gox fmt.gox http.gox json.gox \
1405                 log.gox os.gox runtime.gox strconv.gox sync.gox
1406         $(BUILDARCHIVE)
1407 expvar/libexpvar.la: expvar/libexpvar.a
1408 expvar/check: $(CHECK_DEPS)
1409         $(CHECK)
1410 .PHONY: expvar/check
1411
1412 flag/libflag.a: $(go_flag_files) fmt.gox os.gox strconv.gox
1413         $(BUILDARCHIVE)
1414 flag/libflag.la: flag/libflag.a
1415 flag/check: $(CHECK_DEPS)
1416         $(CHECK)
1417 .PHONY: flag/check
1418
1419 fmt/libfmt.a: $(go_fmt_files) bytes.gox io.gox os.gox reflect.gox strconv.gox \
1420                 strings.gox unicode.gox utf8.gox
1421         $(BUILDARCHIVE)
1422 fmt/libfmt.la: fmt/libfmt.a
1423 fmt/check: $(CHECK_DEPS)
1424         $(CHECK)
1425 .PHONY: fmt/check
1426
1427 gob/libgob.a: $(go_gob_files) bytes.gox fmt.gox io.gox math.gox os.gox \
1428                 reflect.gox runtime.gox strings.gox sync.gox unicode.gox
1429         $(BUILDARCHIVE)
1430 gob/libgob.la: gob/libgob.a
1431 gob/check: $(CHECK_DEPS)
1432         $(CHECK)
1433 .PHONY: gob/check
1434
1435 hash/libhash.a: $(go_hash_files) io.gox
1436         $(BUILDARCHIVE)
1437 hash/libhash.la: hash/libhash.a
1438 hash/check: $(CHECK_DEPS)
1439         $(CHECK)
1440 .PHONY: hash/check
1441
1442 html/libhtml.a: $(go_html_files) bytes.gox io.gox os.gox strconv.gox \
1443                 strings.gox utf8.gox
1444         $(BUILDARCHIVE)
1445 html/libhtml.la: html/libhtml.a
1446 html/check: $(CHECK_DEPS)
1447         $(CHECK)
1448 .PHONY: html/check
1449
1450 http/libhttp.a: $(go_http_files) bufio.gox bytes.gox container/list.gox \
1451                 container/vector.gox crypto/rand.gox crypto/tls.gox \
1452                 encoding/base64.gox fmt.gox io.gox io/ioutil.gox log.gox \
1453                 mime.gox mime/multipart.gox net.gox os.gox path.gox sort.gox \
1454                 strconv.gox strings.gox sync.gox time.gox utf8.gox
1455         $(BUILDARCHIVE)
1456 http/libhttp.la: http/libhttp.a
1457 http/check: $(CHECK_DEPS)
1458         $(CHECK)
1459 .PHONY: http/check
1460
1461 image/libimage.a: $(go_image_files) bufio.gox io.gox os.gox strconv.gox
1462         $(BUILDARCHIVE)
1463 image/libimage.la: image/libimage.a
1464 image/check: $(CHECK_DEPS)
1465         $(CHECK)
1466 .PHONY: image/check
1467
1468 io/libio.a: $(go_io_files) os.gox runtime.gox sync.gox
1469         $(BUILDARCHIVE)
1470 io/libio.la: io/libio.a
1471 io/check: $(CHECK_DEPS)
1472         $(CHECK)
1473 .PHONY: io/check
1474
1475 json/libjson.a: $(go_json_files) bytes.gox container/vector.gox fmt.gox \
1476                 io.gox math.gox os.gox reflect.gox runtime.gox strconv.gox \
1477                 strings.gox unicode.gox utf16.gox utf8.gox
1478         $(BUILDARCHIVE)
1479 json/libjson.la: json/libjson.a
1480 json/check: $(CHECK_DEPS)
1481         $(CHECK)
1482 .PHONY: json/check
1483
1484 log/liblog.a: $(go_log_files) bytes.gox fmt.gox io.gox runtime.gox os.gox \
1485                 time.gox
1486         $(BUILDARCHIVE)
1487 log/liblog.la: log/liblog.a
1488 log/check: $(CHECK_DEPS)
1489         $(CHECK)
1490 .PHONY: log/check
1491
1492 math/libmath.a: $(go_math_files)
1493         $(BUILDARCHIVE)
1494 math/libmath.la: math/libmath.a
1495 math/check: $(CHECK_DEPS)
1496         $(CHECK)
1497 .PHONY: math/check
1498
1499 mime/libmime.a: $(go_mime_files) bufio.gox bytes.gox os.gox strings.gox \
1500                 sync.gox unicode.gox
1501         $(BUILDARCHIVE)
1502 mime/libmime.la: mime/libmime.a
1503 mime/check: $(CHECK_DEPS)
1504         $(CHECK)
1505 .PHONY: mime/check
1506
1507 net/libnet.a: $(go_net_files) fmt.gox io.gox os.gox reflect.gox strconv.gox \
1508                 strings.gox sync.gox syscall.gox
1509         $(BUILDARCHIVE)
1510 net/libnet.la: net/libnet.a
1511 net/check: $(CHECK_DEPS)
1512         $(CHECK)
1513 .PHONY: net/check
1514
1515 netchan/libnetchan.a: $(go_netchan_files) gob.gox log.gox net.gox os.gox \
1516                 reflect.gox sync.gox time.gox
1517         $(BUILDARCHIVE)
1518 netchan/libnetchan.la: netchan/libnetchan.a
1519 netchan/check: $(CHECK_DEPS)
1520         $(CHECK)
1521 .PHONY: netchan/check
1522
1523 os/libos.a: $(go_os_files) sync.gox syscall.gox
1524         $(BUILDARCHIVE)
1525 os/libos.la: os/libos.a
1526 os/check: $(CHECK_DEPS)
1527         $(CHECK)
1528 .PHONY: os/check
1529
1530 patch/libpatch.a: $(go_patch_files) bytes.gox compress/zlib.gox \
1531                 crypto/sha1.gox encoding/git85.gox fmt.gox io.gox os.gox \
1532                 path.gox strings.gox
1533         $(BUILDARCHIVE)
1534 patch/libpatch.la: patch/libpatch.a
1535 patch/check: $(CHECK_DEPS)
1536         $(CHECK)
1537 .PHONY: patch/check
1538
1539 path/libpath.a: $(go_path_files) io/ioutil.gox os.gox sort.gox strings.gox \
1540                 utf8.gox
1541         $(BUILDARCHIVE)
1542 path/libpath.la: path/libpath.a
1543 path/check: $(CHECK_DEPS)
1544         $(CHECK)
1545 .PHONY: path/check
1546
1547 rand/librand.a: $(go_rand_files) math.gox sync.gox
1548         $(BUILDARCHIVE)
1549 rand/librand.la: rand/librand.a
1550 rand/check: $(CHECK_DEPS)
1551         $(CHECK)
1552 .PHONY: rand/check
1553
1554 reflect/libreflect.a: $(go_reflect_files) math.gox runtime.gox strconv.gox \
1555                 sync.gox
1556         $(BUILDARCHIVE)
1557 reflect/libreflect.la: reflect/libreflect.a
1558 reflect/check: $(CHECK_DEPS)
1559         $(CHECK)
1560 .PHONY: reflect/check
1561
1562 regexp/libregexp.a: $(go_regexp_files) bytes.gox io.gox os.gox strings.gox \
1563                 utf8.gox
1564         $(BUILDARCHIVE)
1565 regexp/libregexp.la: regexp/libregexp.a
1566 regexp/check: $(CHECK_DEPS)
1567         $(CHECK)
1568 .PHONY: regexp/check
1569
1570 rpc/librpc.a: $(go_rpc_files) bufio.gox fmt.gox gob.gox http.gox io.gox \
1571                 log.gox net.gox os.gox reflect.gox sort.gox strings.gox \
1572                 strconv.gox sync.gox template.gox unicode.gox utf8.gox
1573         $(BUILDARCHIVE)
1574 rpc/librpc.la: rpc/librpc.a
1575 rpc/check: $(CHECK_DEPS)
1576         $(CHECK)
1577 .PHONY: rpc/check
1578
1579 runtime/libruntime.a: $(go_runtime_files)
1580         $(BUILDARCHIVE)
1581 runtime/libruntime.la: runtime/libruntime.a
1582 runtime/check: $(CHECK_DEPS)
1583         $(CHECK)
1584 .PHONY: runtime/check
1585
1586 scanner/libscanner.a: $(go_scanner_files) bytes.gox fmt.gox io.gox os.gox \
1587                 unicode.gox utf8.gox
1588         $(BUILDARCHIVE)
1589 scanner/libscanner.la: scanner/libscanner.a
1590 scanner/check: $(CHECK_DEPS)
1591         $(CHECK)
1592 .PHONY: scanner/check
1593
1594 smtp/libsmtp.a: $(go_smtp_files) crypto/tls.gox encoding/base64.gox io.gox \
1595                 net.gox net/textproto.gox os.gox strings.gox
1596         $(BUILDARCHIVE)
1597 smtp/libsmtp.la: smtp/libsmtp.a
1598 smtp/check: $(CHECK_DEPS)
1599         $(CHECK)
1600 .PHONY: smtp/check
1601
1602 sort/libsort.a: $(go_sort_files)
1603         $(BUILDARCHIVE)
1604 sort/libsort.la: sort/libsort.a
1605 sort/check: $(CHECK_DEPS)
1606         $(CHECK)
1607 .PHONY: sort/check
1608
1609 strconv/libstrconv.a: $(go_strconv_files) bytes.gox math.gox os.gox \
1610                 strings.gox unicode.gox utf8.gox
1611         $(BUILDARCHIVE)
1612 strconv/libstrconv.la: strconv/libstrconv.a
1613 strconv/check: $(CHECK_DEPS)
1614         $(CHECK)
1615 .PHONY: strconv/check
1616
1617 strings/libstrings.a: $(go_strings_files) os.gox unicode.gox utf8.gox
1618         $(BUILDARCHIVE)
1619 strings/libstrings.la: strings/libstrings.a
1620 strings/check: $(CHECK_DEPS)
1621         $(CHECK)
1622 .PHONY: strings/check
1623
1624 sync/libsync.a: $(go_sync_files) $(go_sync_c_files) runtime.gox
1625         test -d sync || $(MKDIR_P) sync
1626         $(LTGOCOMPILE) -c -o sync/mutex.$(OBJEXT) -fgo-prefix=libgo_sync $(srcdir)/go/sync/mutex.go $(srcdir)/go/sync/once.go $(srcdir)/go/sync/rwmutex.go
1627         $(LTCOMPILE) -c -o sync/cas.$(OBJEXT) $(srcdir)/go/sync/cas.c
1628         rm -f $@
1629         $(AR) rc $@ sync/mutex.$(OBJEXT) sync/cas.$(OBJEXT)
1630 sync/libsync.la: sync/libsync.a
1631         $(LINK) sync/mutex.lo sync/cas.lo
1632 sync/check: $(CHECK_DEPS)
1633         $(CHECK)
1634 .PHONY: sync/check
1635
1636 syslog/libsyslog.a: $(go_syslog_files) fmt.gox log.gox net.gox os.gox
1637         $(BUILDARCHIVE)
1638 syslog/libsyslog.la: syslog/libsyslog.a
1639 syslog/check: $(CHECK_DEPS)
1640         $(CHECK)
1641 .PHONY: syslog/check
1642
1643 tabwriter/libtabwriter.a: $(go_tabwriter_files) bytes.gox io.gox os.gox \
1644                 utf8.gox
1645         $(BUILDARCHIVE)
1646 tabwriter/libtabwriter.la: tabwriter/libtabwriter.a
1647 tabwriter/check: $(CHECK_DEPS)
1648         $(CHECK)
1649 .PHONY: tabwriter/check
1650
1651 template/libtemplate.a: $(go_template_files) bytes.gox fmt.gox io.gox os.gox \
1652                 reflect.gox runtime.gox strings.gox container/vector.gox
1653         $(BUILDARCHIVE)
1654 template/libtemplate.la: template/libtemplate.a
1655 template/check: $(CHECK_DEPS)
1656         $(CHECK)
1657 .PHONY: template/check
1658
1659 testing/libtesting.a: $(go_testing_files) flag.gox fmt.gox os.gox regexp.gox \
1660                 runtime.gox time.gox
1661         $(BUILDARCHIVE)
1662 testing/libtesting.la: testing/libtesting.a
1663 testing/check: $(CHECK_DEPS)
1664         $(CHECK)
1665 .PHONY: testing/check
1666
1667 time/libtime.a: $(go_time_files) bytes.gox io/ioutil.gox os.gox strconv.gox \
1668                 sync.gox syscall.gox
1669         $(BUILDARCHIVE)
1670 time/libtime.la: time/libtime.a
1671 time/check: $(CHECK_DEPS)
1672         $(CHECK)
1673 .PHONY: time/check
1674
1675 try/libtry.a: $(go_try_files) fmt.gox io.gox os.gox reflect.gox unicode.gox
1676         $(BUILDARCHIVE)
1677 try/libtry.la: try/libtry.a
1678 try/check: $(CHECK_DEPS)
1679         $(CHECK)
1680 .PHONY: try/check
1681
1682 unicode/libunicode.a: $(go_unicode_files)
1683         $(BUILDARCHIVE)
1684 unicode/libunicode.la: unicode/libunicode.a
1685 unicode/check: $(CHECK_DEPS)
1686         $(CHECK)
1687 .PHONY: unicode/check
1688
1689 utf16/libutf16.a: $(go_utf16_files) unicode.gox
1690         $(BUILDARCHIVE)
1691 utf16/libutf16.la: utf16/libutf16.a
1692 utf16/check: $(CHECK_DEPS)
1693         $(CHECK)
1694 .PHONY: utf16/check
1695
1696 utf8/libutf8.a: $(go_utf8_files) unicode.gox
1697         $(BUILDARCHIVE)
1698 utf8/libutf8.la: utf8/libutf8.a
1699 utf8/check: $(CHECK_DEPS)
1700         $(CHECK)
1701 .PHONY: utf8/check
1702
1703 websocket/libwebsocket.a: $(go_websocket_files) bufio.gox bytes.gox \
1704                 container/vector.gox crypto/md5.gox crypto/tls.gox \
1705                 encoding/binary.gox fmt.gox http.gox io.gox net.gox os.gox \
1706                 rand.gox strings.gox
1707         $(BUILDARCHIVE)
1708 websocket/libwebsocket.la: websocket/libwebsocket.a
1709 websocket/check: $(CHECK_DEPS)
1710         $(CHECK)
1711 .PHONY: websocket/check
1712
1713 xml/libxml.a: $(go_xml_files) bufio.gox bytes.gox io.gox os.gox reflect.gox \
1714                 strconv.gox strings.gox unicode.gox utf8.gox
1715         $(BUILDARCHIVE)
1716 xml/libxml.la: xml/libxml.a
1717 xml/check: $(CHECK_DEPS)
1718         $(CHECK)
1719 .PHONY: xml/check
1720
1721 archive/libtar.a: $(go_archive_tar_files) bytes.gox io.gox os.gox strconv.gox \
1722                 strings.gox
1723         $(BUILDARCHIVE)
1724 archive/libtar.la: archive/libtar.a
1725 archive/tar/check: $(CHECK_DEPS)
1726         @$(MKDIR_P) archive/tar
1727         $(CHECK)
1728 .PHONY: archive/tar/check
1729
1730 archive/libzip.a: $(go_archive_zip_files) bufio.gox bytes.gox \
1731                 compress/flate.gox hash.gox hash/crc32.gox \
1732                 encoding/binary.gox io.gox os.gox
1733         $(BUILDARCHIVE)
1734 archive/libzip.la: archive/libzip.a
1735 archive/zip/check: $(CHECK_DEPS)
1736         @$(MKDIR_P) archive/zip
1737         $(CHECK)
1738 .PHONY: archive/zip/check
1739
1740 compress/libflate.a: $(go_compress_flate_files) bufio.gox io.gox math.gox \
1741                 os.gox sort.gox strconv.gox
1742         $(BUILDARCHIVE)
1743 compress/libflate.la: compress/libflate.a
1744 compress/flate/check: $(CHECK_DEPS)
1745         @$(MKDIR_P) compress/flate
1746         $(CHECK)
1747 .PHONY: compress/flate/check
1748
1749 compress/libgzip.a: $(go_compress_gzip_files) bufio.gox compress/flate.gox \
1750                 hash.gox hash/crc32.gox io.gox os.gox
1751         $(BUILDARCHIVE)
1752 compress/libgzip.la: compress/libgzip.a
1753 compress/gzip/check: $(CHECK_DEPS)
1754         @$(MKDIR_P) compress/gzip
1755         $(CHECK)
1756 .PHONY: compress/gzip/check
1757
1758 compress/libzlib.a: $(go_compress_zlib_files) bufio.gox compress/flate.gox \
1759                 hash.gox hash/adler32.gox io.gox os.gox
1760         $(BUILDARCHIVE)
1761 compress/libzlib.la: compress/libzlib.a
1762 compress/zlib/check: $(CHECK_DEPS)
1763         @$(MKDIR_P) compress/zlib
1764         $(CHECK)
1765 .PHONY: compress/zlib/check
1766
1767 container/libheap.a: $(go_container_heap_files) sort.gox
1768         $(BUILDARCHIVE)
1769 container/libheap.la: container/libheap.a
1770 container/heap/check: $(CHECK_DEPS)
1771         @$(MKDIR_P) container/heap
1772         $(CHECK)
1773 .PHONY: container/heap/check
1774
1775 container/liblist.a: $(go_container_list_files)
1776         $(BUILDARCHIVE)
1777 container/liblist.la: container/liblist.a
1778 container/list/check: $(CHECK_DEPS)
1779         @$(MKDIR_P) container/list
1780         $(CHECK)
1781 .PHONY: container/list/check
1782
1783 container/libring.a: $(go_container_ring_files)
1784         $(BUILDARCHIVE)
1785 container/libring.la: container/libring.a
1786 container/ring/check: $(CHECK_DEPS)
1787         @$(MKDIR_P) container/ring
1788         $(CHECK)
1789 .PHONY: container/ring/check
1790
1791 container/libvector.a: $(go_container_vector_files)
1792         $(BUILDARCHIVE)
1793 container/libvector.la: container/libvector.a
1794 container/vector/check: $(CHECK_DEPS)
1795         @$(MKDIR_P) container/vector
1796         $(CHECK)
1797 .PHONY: container/vector/check
1798
1799 crypto/libaes.a: $(go_crypto_aes_files) os.gox strconv.gox
1800         $(BUILDARCHIVE)
1801 crypto/libaes.la: crypto/libaes.a
1802 crypto/aes/check: $(CHECK_DEPS)
1803         @$(MKDIR_P) crypto/aes
1804         $(CHECK)
1805 .PHONY: crypto/aes/check
1806
1807 crypto/libblock.a: $(go_crypto_block_files) fmt.gox io.gox os.gox strconv.gox
1808         $(BUILDARCHIVE)
1809 crypto/libblock.la: crypto/libblock.a
1810 crypto/block/check: $(CHECK_DEPS)
1811         @$(MKDIR_P) crypto/block
1812         $(CHECK)
1813 .PHONY: crypto/block/check
1814
1815 crypto/libblowfish.a: $(go_crypto_blowfish_files) os.gox strconv.gox
1816         $(BUILDARCHIVE)
1817 crypto/libblowfish.la: crypto/libblowfish.a
1818 crypto/blowfish/check: $(CHECK_DEPS)
1819         @$(MKDIR_P) crypto/blowfish
1820         $(CHECK)
1821 .PHONY: crypto/blowfish/check
1822
1823 crypto/libcast5.a: $(go_crypto_cast5_files) os.gox
1824         $(BUILDARCHIVE)
1825 crypto/libcast5.la: crypto/libcast5.a
1826 crypt/cast5/check: $(CHECK_DEPS)
1827         @$(MKDIR_P) crypto/cast5
1828         $(CHECK)
1829 .PHONY: crypto/cast5/check
1830
1831 crypto/libhmac.a: $(go_crypto_hmac_files) crypto/md5.gox crypto/sha1.gox \
1832                 hash.gox os.gox
1833         $(BUILDARCHIVE)
1834 crypto/libhmac.la: crypto/libhmac.a
1835 crypto/hmac/check: $(CHECK_DEPS)
1836         @$(MKDIR_P) crypto/hmac
1837         $(CHECK)
1838 .PHONY: crypto/hmac/check
1839
1840 crypto/libmd4.a: $(go_crypto_md4_files) hash.gox os.gox
1841         $(BUILDARCHIVE)
1842 crypto/libmd4.la: crypto/libmd4.a
1843 crypto/md4/check: $(CHECK_DEPS)
1844         @$(MKDIR_P) crypto/md4
1845         $(CHECK)
1846 .PHONY: crypto/md4/check
1847
1848 crypto/libmd5.a: $(go_crypto_md5_files) hash.gox os.gox
1849         $(BUILDARCHIVE)
1850 crypto/libmd5.la: crypto/libmd5.a
1851 crypto/md5/check: $(CHECK_DEPS)
1852         @$(MKDIR_P) crypto/md5
1853         $(CHECK)
1854 .PHONY: crypto/md5/check
1855
1856 crypto/libocsp.a: $(go_crypto_ocsp_files) asn1.gox crypto/rsa.gox \
1857                 crypto/sha1.gox crypto/x509.gox os.gox time.gox
1858         $(BUILDARCHIVE)
1859 crypto/libocsp.la: crypto/libocsp.a
1860 crypto/ocsp/check: $(CHECK_DEPS)
1861         @$(MKDIR_P) crypto/ocsp
1862         $(CHECK)
1863 .PHONY: crypto/ocsp/check
1864
1865 crypto/librand.a: $(go_crypto_rand_files) crypto/aes.gox io.gox os.gox \
1866                 sync.gox time.gox
1867         $(BUILDARCHIVE)
1868 crypto/librand.la: crypto/librand.a
1869 crypto/rand/check: $(CHECK_DEPS)
1870         @$(MKDIR_P) crypto/rand
1871         $(CHECK)
1872 .PHONY: crypto/rand/check
1873
1874 crypto/librc4.a: $(go_crypto_rc4_files) os.gox strconv.gox
1875         $(BUILDARCHIVE)
1876 crypto/librc4.la: crypto/librc4.a
1877 crypto/rc4/check: $(CHECK_DEPS)
1878         @$(MKDIR_P) crypto/rc4
1879         $(CHECK)
1880 .PHONY: crypto/rc4/check
1881
1882 crypto/libripemd160.a: $(go_crypto_ripemd160_files) hash.gox os.gox
1883         $(BUILDARCHIVE)
1884 crypto/libripemd160.la: crypto/libripemd160.a
1885 crypto/ripemd160/check: $(CHECK_DEPS)
1886         @$(MKDIR_P) crypto/ripemd160
1887         $(CHECK)
1888 .PHONY: crypto/ripemd160/check
1889
1890 crypto/librsa.a: $(go_crypto_rsa_files) big.gox crypto/sha1.gox \
1891                 crypto/subtle.gox encoding/hex.gox hash.gox io.gox os.gox
1892         $(BUILDARCHIVE)
1893 crypto/librsa.la: crypto/librsa.a
1894 crypto/rsa/check: $(CHECK_DEPS)
1895         @$(MKDIR_P) crypto/rsa
1896         $(CHECK)
1897 .PHONY: crypto/rsa/check
1898
1899 crypto/libsha1.a: $(go_crypto_sha1_files) hash.gox os.gox
1900         $(BUILDARCHIVE)
1901 crypto/libsha1.la: crypto/libsha1.a
1902 crypto/sha1/check: $(CHECK_DEPS)
1903         @$(MKDIR_P) crypto/sha1
1904         $(CHECK)
1905 .PHONY: crypto/sha1/check
1906
1907 crypto/libsha256.a: $(go_crypto_sha256_files) hash.gox os.gox
1908         $(BUILDARCHIVE)
1909 crypto/libsha256.la: crypto/libsha256.a
1910 crypto/sha256/check: $(CHECK_DEPS)
1911         @$(MKDIR_P) crypto/sha256
1912         $(CHECK)
1913 .PHONY: crypto/sha256/check
1914
1915 crypto/libsha512.a: $(go_crypto_sha512_files) hash.gox os.gox
1916         $(BUILDARCHIVE)
1917 crypto/libsha512.la: crypto/libsha512.a
1918 crypto/sha512/check: $(CHECK_DEPS)
1919         @$(MKDIR_P) crypto/sha512
1920         $(CHECK)
1921 .PHONY: crypto/sha512/check
1922
1923 crypto/libsubtle.a: $(go_crypto_subtle_files)
1924         $(BUILDARCHIVE)
1925 crypto/libsubtle.la: crypto/libsubtle.a
1926 crypto/subtle/check: $(CHECK_DEPS)
1927         @$(MKDIR_P) crypto/subtle
1928         $(CHECK)
1929 .PHONY: crypto/subtle/check
1930
1931 crypto/libtls.a: $(go_crypto_tls_files) bufio.gox bytes.gox container/list.gox \
1932                 crypto/hmac.gox crypto/md5.gox crypto/rc4.gox crypto/rand.gox \
1933                 crypto/rsa.gox crypto/sha1.gox crypto/subtle.gox \
1934                 crypto/rsa.gox crypto/x509.gox encoding/pem.gox fmt.gox \
1935                 hash.gox io.gox io/ioutil.gox net.gox os.gox strings.gox \
1936                 sync.gox time.gox
1937         $(BUILDARCHIVE)
1938 crypto/libtls.la: crypto/libtls.a
1939 crypto/tls/check: $(CHECK_DEPS)
1940         @$(MKDIR_P) crypto/tls
1941         $(CHECK)
1942 .PHONY: crypto/tls/check
1943
1944 crypto/libx509.a: $(go_crypto_x509_files) asn1.gox big.gox \
1945                 container/vector.gox crypto/rsa.gox crypto/sha1.gox hash.gox \
1946                 os.gox strings.gox time.gox
1947         $(BUILDARCHIVE)
1948 crypto/libx509.la: crypto/libx509.a
1949 crypto/x509/check: $(CHECK_DEPS)
1950         @$(MKDIR_P) crypto/x509
1951         $(CHECK)
1952 .PHONY: crypto/x509/check
1953
1954 crypto/libxtea.a: $(go_crypto_xtea_files) os.gox strconv.gox
1955         $(BUILDARCHIVE)
1956 crypto/libxtea.la: crypto/libxtea.a
1957 crypto/xtea/check: $(CHECK_DEPS)
1958         @$(MKDIR_P) crypto/xtea
1959         $(CHECK)
1960 .PHONY: crypto/xtea/check
1961
1962 debug/libdwarf.a: $(go_debug_dwarf_files) encoding/binary.gox os.gox \
1963                 strconv.gox
1964         $(BUILDARCHIVE)
1965 debug/libdwarf.la: debug/libdwarf.a
1966 debug/dwarf/check: $(CHECK_DEPS)
1967         @$(MKDIR_P) debug/dwarf
1968         $(CHECK)
1969 .PHONY: debug/dwarf/check
1970
1971 debug/libelf.a: $(go_debug_elf_files) bytes.gox debug/dwarf.gox \
1972                 encoding/binary.gox fmt.gox io.gox os.gox strconv.gox
1973         $(BUILDARCHIVE)
1974 debug/libelf.la: debug/libelf.a
1975 debug/elf/check: $(CHECK_DEPS)
1976         @$(MKDIR_P) debug/elf
1977         $(CHECK)
1978 .PHONY: debug/elf/check
1979
1980 debug/libgosym.a: $(go_debug_gosym_files) encoding/binary.gox fmt.gox os.gox \
1981                 strconv.gox strings.gox
1982         $(BUILDARCHIVE)
1983 debug/libgosym.la: debug/libgosym.a
1984 debug/gosym/check: $(CHECK_DEPS)
1985         @$(MKDIR_P) debug/gosym
1986         $(CHECK)
1987 .PHONY: debug/gosym/check
1988
1989 debug/libmacho.a: $(go_debug_macho_files) bytes.gox debug/dwarf.gox \
1990                 encoding/binary.gox fmt.gox io.gox os.gox strconv.gox
1991         $(BUILDARCHIVE)
1992 debug/libmacho.la: debug/libmacho.a
1993 debug/macho/check: $(CHECK_DEPS)
1994         @$(MKDIR_P) debug/macho
1995         $(CHECK)
1996 .PHONY: debug/macho/check
1997
1998 debug/libpe.a: $(go_debug_pe_files) debug/dwarf.gox encoding/binary.gox \
1999                 fmt.gox io.gox os.gox strconv.gox
2000         $(BUILDARCHIVE)
2001 debug/libpe.la: debug/libpe.a
2002 debug/pe/check: $(CHECK_DEPS)
2003         @$(MKDIR_P) debug/pe
2004         $(CHECK)
2005 .PHONY: debug/pe/check
2006
2007 debug/libproc.a: $(go_debug_proc_files) container/vector.gox fmt.gox \
2008                 io/ioutil.gox os.gox runtime.gox strconv.gox strings.gox \
2009                 sync.gox syscall.gox
2010         $(BUILDARCHIVE)
2011 debug/libproc.la: debug/libproc.a
2012 debug/proc/check: $(CHECK_DEPS)
2013         @$(MKDIR_P) debug/proc
2014         $(CHECK)
2015 .PHONY: debug/proc/check
2016
2017 encoding/libascii85.a: $(go_encoding_ascii85_files) io.gox os.gox strconv.gox
2018         $(BUILDARCHIVE)
2019 encoding/libascii85.la: encoding/libascii85.a
2020 encoding/ascii85/check: $(CHECK_DEPS)
2021         @$(MKDIR_P) encoding/ascii85
2022         $(CHECK)
2023 .PHONY: encoding/ascii85/check
2024
2025 encoding/libbase64.a: $(go_encoding_base64_files) io.gox os.gox strconv.gox
2026         $(BUILDARCHIVE)
2027 encoding/libbase64.la: encoding/libbase64.a
2028 encoding/base64/check: $(CHECK_DEPS)
2029         @$(MKDIR_P) encoding/base64
2030         $(CHECK)
2031 .PHONY: encoding/base64/check
2032
2033 encoding/libbinary.a: $(go_encoding_binary_files) io.gox math.gox os.gox \
2034                 reflect.gox
2035         $(BUILDARCHIVE)
2036 encoding/libbinary.la: encoding/libbinary.a
2037 encoding/binary/check: $(CHECK_DEPS)
2038         @$(MKDIR_P) encoding/binary
2039         $(CHECK)
2040 .PHONY: encoding/binary/check
2041
2042 encoding/libgit85.a: $(go_encoding_git85_files) bytes.gox io.gox os.gox \
2043                 strconv.gox
2044         $(BUILDARCHIVE)
2045 encoding/libgit85.la: encoding/libgit85.a
2046 encoding/git85/check: $(CHECK_DEPS)
2047         @$(MKDIR_P) encoding/git85
2048         $(CHECK)
2049 .PHONY: encoding/git85/check
2050
2051 encoding/libhex.a: $(go_encoding_hex_files) os.gox strconv.gox
2052         $(BUILDARCHIVE)
2053 encoding/libhex.la: encoding/libhex.a
2054 encoding/hex/check: $(CHECK_DEPS)
2055         @$(MKDIR_P) encoding/hex
2056         $(CHECK)
2057 .PHONY: encoding/hex/check
2058
2059 encoding/libpem.a: $(go_encoding_pem_files) bytes.gox encoding/base64.gox
2060         $(BUILDARCHIVE)
2061 encoding/libpem.la: encoding/libpem.a
2062 encoding/pem/check: $(CHECK_DEPS)
2063         @$(MKDIR_P) encoding/pem
2064         $(CHECK)
2065 .PHONY: encoding/pem/check
2066
2067 exp/libdatafmt.a: $(go_exp_datafmt_files) bytes.gox container/vector.gox \
2068                 fmt.gox go/scanner.gox go/token.gox io.gox os.gox reflect.gox \
2069                 runtime.gox strconv.gox strings.gox
2070         $(BUILDARCHIVE)
2071 exp/libdatafmt.la: exp/libdatafmt.a
2072 exp/datafmt/check: $(CHECK_DEPS)
2073         @$(MKDIR_P) exp/datafmt
2074         $(CHECK)
2075 .PHONY: exp/datafmt/check
2076
2077 exp/libdraw.a: $(go_exp_draw_files) image.gox os.gox
2078         $(BUILDARCHIVE)
2079 exp/libdraw.la: exp/libdraw.a
2080 exp/draw/check: $(CHECK_DEPS)
2081         @$(MKDIR_P) exp/draw
2082         $(CHECK)
2083 .PHONY: exp/draw/check
2084
2085 exp/libeval.a: $(go_exp_eval_files) big.gox go/ast.gox go/parser.gox \
2086                 go/scanner.gox go/token.gox fmt.gox log.gox strconv.gox \
2087                 strings.gox os.gox reflect.gox runtime.gox sort.gox template.gox
2088         $(BUILDARCHIVE)
2089 exp/libeval.la: exp/libeval.a
2090 exp/eval/check: $(CHECK_DEPS)
2091         @$(MKDIR_P) exp/eval
2092         $(CHECK)
2093 .PHONY: exp/eval/check
2094
2095 go/libast.a: $(go_go_ast_files) fmt.gox go/token.gox io.gox os.gox \
2096                 reflect.gox unicode.gox utf8.gox
2097         $(BUILDARCHIVE)
2098 go/libast.la: go/libast.a
2099 go/ast/check: $(CHECK_DEPS)
2100         @$(MKDIR_P) go/ast
2101         $(CHECK)
2102 .PHONY: go/ast/check
2103
2104 go/libdoc.a: $(go_go_doc_files) go/ast.gox go/token.gox io.gox regexp.gox \
2105                 sort.gox strings.gox template.gox
2106         $(BUILDARCHIVE)
2107 go/libdoc.la: go/libdoc.a
2108 go/doc/check: $(CHECK_DEPS)
2109         @$(MKDIR_P) go/doc
2110         $(CHECK)
2111 .PHONY: go/doc/check
2112
2113 go/libparser.a: $(go_go_parser_files) bytes.gox fmt.gox go/ast.gox \
2114                 go/scanner.gox go/token.gox io.gox io/ioutil.gox os.gox \
2115                 path.gox strings.gox
2116         $(BUILDARCHIVE)
2117 go/libparser.la: go/libparser.a
2118 go/parser/check: $(CHECK_DEPS)
2119         @$(MKDIR_P) go/parser
2120         $(CHECK)
2121 .PHONY: go/parser/check
2122
2123 go/libprinter.a: $(go_go_printer_files) bytes.gox fmt.gox go/ast.gox \
2124                 go/token.gox io.gox os.gox reflect.gox runtime.gox \
2125                 strings.gox tabwriter.gox
2126         $(BUILDARCHIVE)
2127 go/libprinter.la: go/libprinter.a
2128 go/printer/check: $(CHECK_DEPS)
2129         @$(MKDIR_P) go/printer
2130         $(CHECK)
2131 .PHONY: go/printer/check
2132
2133 go/libscanner.a: $(go_go_scanner_files) bytes.gox container/vector.gox fmt.gox \
2134                 go/token.gox io.gox os.gox sort.gox strconv.gox unicode.gox \
2135                 utf8.gox
2136         $(BUILDARCHIVE)
2137 go/libscanner.la: go/libscanner.a
2138 go/scanner/check: $(CHECK_DEPS)
2139         @$(MKDIR_P) go/scanner
2140         $(CHECK)
2141 .PHONY: go/scanner/check
2142
2143 go/libtoken.a: $(go_go_token_files) fmt.gox strconv.gox
2144         $(BUILDARCHIVE)
2145 go/libtoken.la: go/libtoken.a
2146 go/token/check: $(CHECK_DEPS)
2147         @$(MKDIR_P) go/token
2148         $(CHECK)
2149 .PHONY: go/token/check
2150
2151 go/libtypechecker.a: $(go_go_typechecker_files) fmt.gox go/ast.gox \
2152                 go/token.gox go/scanner.gox os.gox
2153         $(BUILDARCHIVE)
2154 go/libtypechecker.la: go/libtypechecker.a
2155 go/typechecker/check: $(CHECK_DEPS)
2156         @$(MKDIR_P) go/typechecker
2157         $(CHECK)
2158 .PHONY: go/typechecker/check
2159
2160 hash/libadler32.a: $(go_hash_adler32_files) hash.gox os.gox
2161         $(BUILDARCHIVE)
2162 hash/libadler32.la: hash/libadler32.a
2163 hash/adler32/check: $(CHECK_DEPS)
2164         @$(MKDIR_P) hash/adler32
2165         $(CHECK)
2166 .PHONY: hash/adler32/check
2167
2168 hash/libcrc32.a: $(go_hash_crc32_files) hash.gox os.gox
2169         $(BUILDARCHIVE)
2170 hash/libcrc32.la: hash/libcrc32.a
2171 hash/crc32/check: $(CHECK_DEPS)
2172         @$(MKDIR_P) hash/crc32
2173         $(CHECK)
2174 .PHONY: hash/crc32/check
2175
2176 hash/libcrc64.a: $(go_hash_crc64_files) hash.gox os.gox
2177         $(BUILDARCHIVE)
2178 hash/libcrc64.la: hash/libcrc64.a
2179 hash/crc64/check: $(CHECK_DEPS)
2180         @$(MKDIR_P) hash/crc64
2181         $(CHECK)
2182 .PHONY: hash/crc64/check
2183
2184 http/libpprof.a: $(go_http_pprof_files) bufio.gox fmt.gox http.gox os.gox \
2185                 runtime.gox runtime/pprof.gox strconv.gox strings.gox
2186         $(BUILDARCHIVE)
2187 http/libpprof.la: http/libpprof.a
2188 http/pprof/check: $(CHECK_DEPS)
2189         @$(MKDIR_P) http/pprof
2190         $(CHECK)
2191 .PHONY: http/pprof/check
2192
2193 image/libjpeg.a: $(go_image_jpeg_files) bufio.gox image.gox io.gox os.gox
2194         $(BUILDARCHIVE)
2195 image/libjpeg.la: image/libjpeg.a
2196 image/jpeg/check: $(CHECK_DEPS)
2197         @$(MKDIR_P) image/jpeg
2198         $(CHECK)
2199 .PHONY: image/jpeg/check
2200
2201 image/libpng.a: $(go_image_png_files) bufio.gox compress/zlib.gox fmt.gox \
2202                 hash.gox hash/crc32.gox image.gox io.gox os.gox strconv.gox
2203         $(BUILDARCHIVE)
2204 image/libpng.la: image/libpng.a
2205 image/png/check: $(CHECK_DEPS)
2206         @$(MKDIR_P) image/png
2207         $(CHECK)
2208 .PHONY: image/png/check
2209
2210 index/libsuffixarray.a: $(go_index_suffixarray_files) bytes.gox \
2211                 container/vector.gox sort.gox
2212         $(BUILDARCHIVE)
2213 index/libsuffixarray.la: index/libsuffixarray.a
2214 index/suffixarray/check: $(CHECK_DEPS)
2215         @$(MKDIR_P) index/suffixarray
2216         $(CHECK)
2217 .PHONY: index/suffixarray/check
2218
2219 io/libioutil.a: $(go_io_ioutil_files) bytes.gox io.gox os.gox sort.gox \
2220                 strconv.gox
2221         $(BUILDARCHIVE)
2222 io/libioutil.la: io/libioutil.a
2223 io/ioutil/check: $(CHECK_DEPS)
2224         @$(MKDIR_P) io/ioutil
2225         $(CHECK)
2226 .PHONY: io/ioutil/check
2227
2228 mime/libmultipart.a: $(go_mime_multipart_files) bufio.gox bytes.gox io.gox \
2229                 mime.gox os.gox regexp.gox strings.gox
2230         $(BUILDARCHIVE)
2231 mime/libmultipart.la: mime/libmultipart.a
2232 mime/multipart/check: $(CHECK_DEPS)
2233         @$(MKDIR_P) mime/multipart
2234         $(CHECK)
2235 .PHONY: mime/multipart/check
2236
2237 net/libdict.a: $(go_net_dict_files) container/vector.gox net/textproto.gox \
2238                 os.gox strconv.gox strings.gox
2239         $(BUILDARCHIVE)
2240 net/libdict.la: net/libdict.a
2241
2242 net/libtextproto.a: $(go_net_textproto_files) bufio.gox bytes.gox \
2243                 container/vector.gox fmt.gox io.gox io/ioutil.gox net.gox \
2244                 os.gox strconv.gox sync.gox
2245         $(BUILDARCHIVE)
2246 net/libtextproto.la: net/libtextproto.a
2247 net/textproto/check: $(CHECK_DEPS)
2248         @$(MKDIR_P) net/textproto
2249         $(CHECK)
2250 .PHONY: net/textproto/check
2251
2252 os/libsignal.a: $(go_os_signal_files) runtime.gox strconv.gox
2253         $(BUILDARCHIVE)
2254 os/libsignal.la: os/libsignal.a
2255 os/signal/check: $(CHECK_DEPS)
2256         @$(MKDIR_P) os/signal
2257         $(CHECK)
2258 .PHONY: os/signal/check
2259
2260 unix.go: $(srcdir)/go/os/signal/mkunix.sh sysinfo.go
2261         $(SHELL) $(srcdir)/go/os/signal/mkunix.sh sysinfo.go > $@.tmp
2262         mv -f $@.tmp $@
2263
2264 rpc/libjsonrpc.a: $(go_rpc_jsonrpc_files) fmt.gox io.gox json.gox net.gox \
2265                 os.gox rpc.gox sync.gox
2266         $(BUILDARCHIVE)
2267 rpc/libjsonrpc.la: rpc/libjsonrpc.a
2268 rpc/jsonrpc/check: $(CHECK_DEPS)
2269         @$(MKDIR_P) rpc/jsonrpc
2270         $(CHECK)
2271 .PHONY: rpc/jsonrpc/check
2272
2273 runtime/libpprof.a: $(go_runtime_pprof_files) bufio.gox fmt.gox io.gox os.gox \
2274                 runtime.gox
2275         $(BUILDARCHIVE)
2276 runtime/libpprof.la: runtime/libpprof.a
2277 runtime/pprof/check: $(CHECK_DEPS)
2278         @$(MKDIR_P) runtime/pprof
2279         $(CHECK)
2280 .PHONY: runtime/pprof/check
2281
2282 testing/libiotest.a: $(go_testing_iotest_files) io.gox log.gox os.gox
2283         $(BUILDARCHIVE)
2284 testing/libiotest.la: testing/libiotest.a
2285 testing/iotest/check: $(CHECK_DEPS)
2286         @$(MKDIR_P) testing/iotest
2287         $(CHECK)
2288 .PHONY: testing/iotest/check
2289
2290 testing/libquick.a: $(go_testing_quick_files) flag.gox fmt.gox math.gox \
2291                 os.gox rand.gox reflect.gox strings.gox
2292         $(BUILDARCHIVE)
2293 testing/libquick.la: testing/libquick.a
2294 testing/quick/check: $(CHECK_DEPS)
2295         @$(MKDIR_P) testing/quick
2296         $(CHECK)
2297 .PHONY: testing/quick/check
2298
2299 testing/libscript.a: $(go_testing_script_files) fmt.gox os.gox rand.gox \
2300                 reflect.gox strings.gox
2301         $(BUILDARCHIVE)
2302 testing/libscript.la: testing/libscript.a
2303 testing/script/check: $(CHECK_DEPS)
2304         @$(MKDIR_P) testing/script
2305         $(CHECK)
2306 .PHONY: testing/script/check
2307
2308 sysinfo.go: $(srcdir)/mksysinfo.sh config.h
2309         $(SHELL) $(srcdir)/mksysinfo.sh
2310 syscalls/libsyscall.a: $(go_syscall_files) $(go_syscall_c_files) sync.gox
2311         rm -f syscall.gox syscalls/libsyscall.a
2312         test -d syscalls || $(MKDIR_P) syscalls
2313         files=`echo $^ | sed -e 's/[^ ]*\.gox//g' -e's/[^ ]*\.c//g'`; \
2314         $(LTGOCOMPILE) -c -fgo-prefix="libgo_syscalls" -o syscalls/syscall.$(OBJEXT) $$files
2315         $(LTCOMPILE) -c -o syscalls/errno.$(OBJEXT) $(srcdir)/syscalls/errno.c
2316         $(AR) rc syscalls/libsyscall.a syscalls/syscall.$(OBJEXT) syscalls/errno.$(OBJEXT)
2317 syscalls/libsyscall.la: syscalls/libsyscall.a
2318         $(LINK) syscalls/syscall.lo syscalls/errno.lo
2319
2320 # How to build a .gox file from a .a file.
2321 BUILDGOX = \
2322         set -e; \
2323         rm -f $@.$(OBJEXT); \
2324         $(CC) -r -nostdlib -o $@.$(OBJEXT) -Wl,--whole-archive $<; \
2325         $(OBJCOPY) -j .go_export $@.$(OBJEXT) $@.tmp; \
2326         mv -f $@.tmp $@; \
2327         rm -f $@.$(OBJEXT)
2328
2329 asn1.gox: asn1/libasn1.a
2330         $(BUILDGOX)
2331 big.gox: big/libbig.a
2332         $(BUILDGOX)
2333 bufio.gox: bufio/libbufio.a
2334         $(BUILDGOX)
2335 bytes.gox: bytes/libbytes.a
2336         $(BUILDGOX)
2337 cmath.gox: cmath/libcmath.a
2338         $(BUILDGOX)
2339 ebnf.gox: ebnf/libebnf.a
2340         $(BUILDGOX)
2341 exec.gox: exec/libexec.a
2342         $(BUILDGOX)
2343 expvar.gox: expvar/libexpvar.a
2344         $(BUILDGOX)
2345 flag.gox: flag/libflag.a
2346         $(BUILDGOX)
2347 fmt.gox: fmt/libfmt.a
2348         $(BUILDGOX)
2349 gob.gox: gob/libgob.a
2350         $(BUILDGOX)
2351 hash.gox: hash/libhash.a
2352         $(BUILDGOX)
2353 html.gox: html/libhtml.a
2354         $(BUILDGOX)
2355 http.gox: http/libhttp.a
2356         $(BUILDGOX)
2357 image.gox: image/libimage.a
2358         $(BUILDGOX)
2359 io.gox: io/libio.a
2360         $(BUILDGOX)
2361 json.gox: json/libjson.a
2362         $(BUILDGOX)
2363 log.gox: log/liblog.a
2364         $(BUILDGOX)
2365 math.gox: math/libmath.a
2366         $(BUILDGOX)
2367 mime.gox: mime/libmime.a
2368         $(BUILDGOX)
2369 net.gox: net/libnet.a
2370         $(BUILDGOX)
2371 netchan.gox: netchan/libnetchan.a
2372         $(BUILDGOX)
2373 os.gox: os/libos.a
2374         $(BUILDGOX)
2375 patch.gox: patch/libpatch.a
2376         $(BUILDGOX)
2377 path.gox: path/libpath.a
2378         $(BUILDGOX)
2379 rand.gox: rand/librand.a
2380         $(BUILDGOX)
2381 reflect.gox: reflect/libreflect.a
2382         $(BUILDGOX)
2383 regexp.gox: regexp/libregexp.a
2384         $(BUILDGOX)
2385 rpc.gox: rpc/librpc.a
2386         $(BUILDGOX)
2387 runtime.gox: runtime/libruntime.a
2388         $(BUILDGOX)
2389 scanner.gox: scanner/libscanner.a
2390         $(BUILDGOX)
2391 smtp.gox: smtp/libsmtp.a
2392         $(BUILDGOX)
2393 sort.gox: sort/libsort.a
2394         $(BUILDGOX)
2395 strconv.gox: strconv/libstrconv.a
2396         $(BUILDGOX)
2397 strings.gox: strings/libstrings.a
2398         $(BUILDGOX)
2399 sync.gox: sync/libsync.a
2400         $(BUILDGOX)
2401 syslog.gox: syslog/libsyslog.a
2402         $(BUILDGOX)
2403 syscall.gox: syscalls/libsyscall.a
2404         $(BUILDGOX)
2405 tabwriter.gox: tabwriter/libtabwriter.a
2406         $(BUILDGOX)
2407 template.gox: template/libtemplate.a
2408         $(BUILDGOX)
2409 testing.gox: testing/libtesting.a
2410         $(BUILDGOX)
2411 time.gox: time/libtime.a
2412         $(BUILDGOX)
2413 try.gox: try/libtry.a
2414         $(BUILDGOX)
2415 unicode.gox: unicode/libunicode.a
2416         $(BUILDGOX)
2417 utf16.gox: utf16/libutf16.a
2418         $(BUILDGOX)
2419 utf8.gox: utf8/libutf8.a
2420         $(BUILDGOX)
2421 websocket.gox: websocket/libwebsocket.a
2422         $(BUILDGOX)
2423 xml.gox: xml/libxml.a
2424         $(BUILDGOX)
2425
2426 archive/tar.gox: archive/libtar.a
2427         $(BUILDGOX)
2428 archive/zip.gox: archive/libzip.a
2429         $(BUILDGOX)
2430
2431 compress/flate.gox: compress/libflate.a
2432         $(BUILDGOX)
2433 compress/gzip.gox: compress/libgzip.a
2434         $(BUILDGOX)
2435 compress/zlib.gox: compress/libzlib.a
2436         $(BUILDGOX)
2437
2438 container/heap.gox: container/libheap.a
2439         $(BUILDGOX)
2440 container/list.gox: container/liblist.a
2441         $(BUILDGOX)
2442 container/ring.gox: container/libring.a
2443         $(BUILDGOX)
2444 container/vector.gox: container/libvector.a
2445         $(BUILDGOX)
2446
2447 crypto/aes.gox: crypto/libaes.a
2448         $(BUILDGOX)
2449 crypto/block.gox: crypto/libblock.a
2450         $(BUILDGOX)
2451 crypto/blowfish.gox: crypto/libblowfish.a
2452         $(BUILDGOX)
2453 crypto/cast5.gox: crypto/libcast5.a
2454         $(BUILDGOX)
2455 crypto/hmac.gox: crypto/libhmac.a
2456         $(BUILDGOX)
2457 crypto/md4.gox: crypto/libmd4.a
2458         $(BUILDGOX)
2459 crypto/md5.gox: crypto/libmd5.a
2460         $(BUILDGOX)
2461 crypto/ocsp.gox: crypto/libocsp.a
2462         $(BUILDGOX)
2463 crypto/rand.gox: crypto/librand.a
2464         $(BUILDGOX)
2465 crypto/rc4.gox: crypto/librc4.a
2466         $(BUILDGOX)
2467 crypto/ripemd160.gox: crypto/libripemd160.a
2468         $(BUILDGOX)
2469 crypto/rsa.gox: crypto/librsa.a
2470         $(BUILDGOX)
2471 crypto/sha1.gox: crypto/libsha1.a
2472         $(BUILDGOX)
2473 crypto/sha256.gox: crypto/libsha256.a
2474         $(BUILDGOX)
2475 crypto/sha512.gox: crypto/libsha512.a
2476         $(BUILDGOX)
2477 crypto/subtle.gox: crypto/libsubtle.a
2478         $(BUILDGOX)
2479 crypto/tls.gox: crypto/libtls.a
2480         $(BUILDGOX)
2481 crypto/x509.gox: crypto/libx509.a
2482         $(BUILDGOX)
2483 crypto/xtea.gox: crypto/libxtea.a
2484         $(BUILDGOX)
2485
2486 debug/dwarf.gox: debug/libdwarf.a
2487         $(BUILDGOX)
2488 debug/elf.gox: debug/libelf.a
2489         $(BUILDGOX)
2490 debug/gosym.gox: debug/libgosym.a
2491         $(BUILDGOX)
2492 debug/macho.gox: debug/libmacho.a
2493         $(BUILDGOX)
2494 debug/pe.gox: debug/libpe.a
2495         $(BUILDGOX)
2496 debug/proc.gox: debug/libproc.a
2497         $(BUILDGOX)
2498
2499 encoding/ascii85.gox: encoding/libascii85.a
2500         $(BUILDGOX)
2501 encoding/base64.gox: encoding/libbase64.a
2502         $(BUILDGOX)
2503 encoding/binary.gox: encoding/libbinary.a
2504         $(BUILDGOX)
2505 encoding/git85.gox: encoding/libgit85.a
2506         $(BUILDGOX)
2507 encoding/hex.gox: encoding/libhex.a
2508         $(BUILDGOX)
2509 encoding/pem.gox: encoding/libpem.a
2510         $(BUILDGOX)
2511
2512 exp/datafmt.gox: exp/libdatafmt.a
2513         $(BUILDGOX)
2514 exp/draw.gox: exp/libdraw.a
2515         $(BUILDGOX)
2516 exp/eval.gox: exp/libeval.a
2517         $(BUILDGOX)
2518
2519 go/ast.gox: go/libast.a
2520         $(BUILDGOX)
2521 go/doc.gox: go/libdoc.a
2522         $(BUILDGOX)
2523 go/parser.gox: go/libparser.a
2524         $(BUILDGOX)
2525 go/printer.gox: go/libprinter.a
2526         $(BUILDGOX)
2527 go/scanner.gox: go/libscanner.a
2528         $(BUILDGOX)
2529 go/token.gox: go/libtoken.a
2530         $(BUILDGOX)
2531 go/typechecker.gox: go/libtypechecker.a
2532         $(BUILDGOX)
2533
2534 hash/adler32.gox: hash/libadler32.a
2535         $(BUILDGOX)
2536 hash/crc32.gox: hash/libcrc32.a
2537         $(BUILDGOX)
2538 hash/crc64.gox: hash/libcrc64.a
2539         $(BUILDGOX)
2540
2541 http/pprof.gox: http/libpprof.a
2542         $(BUILDGOX)
2543
2544 image/jpeg.gox: image/libjpeg.a
2545         $(BUILDGOX)
2546 image/png.gox: image/libpng.a
2547         $(BUILDGOX)
2548
2549 index/suffixarray.gox: index/libsuffixarray.a
2550         $(BUILDGOX)
2551
2552 io/ioutil.gox: io/libioutil.a
2553         $(BUILDGOX)
2554
2555 mime/multipart.gox: mime/libmultipart.a
2556         $(BUILDGOX)
2557
2558 net/dict.gox: net/libdict.a
2559         $(BUILDGOX)
2560 net/textproto.gox: net/libtextproto.a
2561         $(BUILDGOX)
2562
2563 os/signal.gox: os/libsignal.a
2564         $(BUILDGOX)
2565
2566 rpc/jsonrpc.gox: rpc/libjsonrpc.a
2567         $(BUILDGOX)
2568
2569 runtime/pprof.gox: runtime/libpprof.a
2570         $(BUILDGOX)
2571
2572 testing/iotest.gox: testing/libiotest.a
2573         $(BUILDGOX)
2574 testing/quick.gox: testing/libquick.a
2575         $(BUILDGOX)
2576 testing/script.gox: testing/libscript.a
2577         $(BUILDGOX)
2578
2579 TEST_PACKAGES = \
2580         asn1/check \
2581         big/check \
2582         bufio/check \
2583         bytes/check \
2584         cmath/check \
2585         ebnf/check \
2586         exec/check \
2587         expvar/check \
2588         flag/check \
2589         fmt/check \
2590         gob/check \
2591         html/check \
2592         http/check \
2593         io/check \
2594         json/check \
2595         log/check \
2596         math/check \
2597         mime/check \
2598         net/check \
2599         netchan/check \
2600         os/check \
2601         patch/check \
2602         path/check \
2603         rand/check \
2604         reflect/check \
2605         regexp/check \
2606         rpc/check \
2607         runtime/check \
2608         scanner/check \
2609         smtp/check \
2610         sort/check \
2611         strconv/check \
2612         strings/check \
2613         sync/check \
2614         syslog/check \
2615         tabwriter/check \
2616         template/check \
2617         time/check \
2618         try/check \
2619         unicode/check \
2620         utf16/check \
2621         utf8/check \
2622         websocket/check \
2623         xml/check \
2624         archive/tar/check \
2625         archive/zip/check \
2626         compress/flate/check \
2627         compress/gzip/check \
2628         compress/zlib/check \
2629         container/heap/check \
2630         container/list/check \
2631         container/ring/check \
2632         container/vector/check \
2633         crypto/aes/check \
2634         crypto/block/check \
2635         crypto/blowfish/check \
2636         crypto/cast5/check \
2637         crypto/hmac/check \
2638         crypto/md4/check \
2639         crypto/md5/check \
2640         crypto/ocsp/check \
2641         crypto/rand/check \
2642         crypto/rc4/check \
2643         crypto/ripemd160/check \
2644         crypto/rsa/check \
2645         crypto/sha1/check \
2646         crypto/sha256/check \
2647         crypto/sha512/check \
2648         crypto/subtle/check \
2649         crypto/tls/check \
2650         crypto/x509/check \
2651         crypto/xtea/check \
2652         debug/dwarf/check \
2653         debug/elf/check \
2654         debug/macho/check \
2655         debug/pe/check \
2656         encoding/ascii85/check \
2657         encoding/base64/check \
2658         encoding/binary/check \
2659         encoding/git85/check \
2660         encoding/hex/check \
2661         encoding/pem/check \
2662         exp/datafmt/check \
2663         exp/draw/check \
2664         exp/eval/check \
2665         go/parser/check \
2666         go/printer/check \
2667         go/scanner/check \
2668         go/typechecker/check \
2669         hash/adler32/check \
2670         hash/crc32/check \
2671         hash/crc64/check \
2672         image/png/check \
2673         index/suffixarray/check \
2674         io/ioutil/check \
2675         mime/multipart/check \
2676         net/textproto/check \
2677         os/signal/check \
2678         rpc/jsonrpc/check \
2679         testing/quick/check \
2680         testing/script/check
2681
2682 check-recursive: $(TEST_PACKAGES)
2683
2684 mostlyclean-local:
2685         find . -name '*.lo' -print | xargs $(LIBTOOL) --mode=clean rm -f
2686         find . -name '*.$(OBJEXT)' -print | xargs rm -f
2687
2688 clean-local:
2689         find . -name '*.la' -print | xargs $(LIBTOOL) --mode=clean rm -f
2690         find . -name '*.a' -print | xargs rm -f
2691
2692 CLEANFILES = *.go *.gox goc2c *.c s-version