OSDN Git Service

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