OSDN Git Service

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