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