OSDN Git Service

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