OSDN Git Service

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