1 # Makefile.am -- Go library Makefile.
3 # Copyright 2009, 2010 The Go Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style
5 # license that can be found in the LICENSE file.
7 # Process this file with autoreconf to produce Makefile.in.
10 SUFFIXES = .c .go .gox .o .obj .lo .a
18 gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
20 MAINT_CHARSET = latin1
22 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
23 PWD_COMMAND = $${PWDCMD-pwd}
24 STAMP = echo timestamp >
26 toolexecdir = $(glibgo_toolexecdir)
27 toolexeclibdir = $(glibgo_toolexeclibdir)
30 LIBFFIINCS = @LIBFFIINCS@
32 WARN_CFLAGS = $(WARN_FLAGS) $(WERROR)
34 # -I/-D flags to pass when compiling.
35 AM_CPPFLAGS = -I $(srcdir)/runtime $(LIBFFIINCS) $(PTHREAD_CFLAGS)
37 ACLOCAL_AMFLAGS = -I ./config -I ../config
39 AM_CFLAGS = -fexceptions -fplan9-extensions $(SPLIT_STACK) $(WARN_CFLAGS) \
41 -I $(srcdir)/../gcc -I $(MULTIBUILDTOP)../../gcc/include
44 AM_LDFLAGS = -XCClinker $(SPLIT_STACK)
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.
54 "AR_FLAGS=$(AR_FLAGS)" \
55 "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
56 "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
58 "CXXFLAGS=$(CXXFLAGS)" \
59 "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
60 "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
61 "GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \
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)" \
72 "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
73 "PICFLAG=$(PICFLAG)" \
74 "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
76 "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
77 "exec_prefix=$(exec_prefix)" \
78 "infodir=$(infodir)" \
80 "includedir=$(includedir)" \
82 "tooldir=$(tooldir)" \
83 "gxx_include_dir=$(gxx_include_dir)" \
89 "NM_FOR_BUILD=$(NM_FOR_BUILD)" \
90 "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
91 "DESTDIR=$(DESTDIR)" \
94 # Subdir rules rely on $(FLAGS_TO_PASS)
95 FLAGS_TO_PASS = $(AM_MAKEFLAGS)
97 toolexeclib_LTLIBRARIES = libgo.la
98 toolexeclib_LIBRARIES = libgobegin.a
100 toolexeclibgodir = $(toolexeclibdir)/go/$(gcc_version)/$(target_alias)
102 toolexeclibgo_DATA = \
152 toolexeclibgoarchivedir = $(toolexeclibgodir)/archive
154 toolexeclibgoarchive_DATA = \
158 toolexeclibgocompressdir = $(toolexeclibgodir)/compress
160 toolexeclibgocompress_DATA = \
165 toolexeclibgocontainerdir = $(toolexeclibgodir)/container
167 toolexeclibgocontainer_DATA = \
173 toolexeclibgocryptodir = $(toolexeclibgodir)/crypto
175 toolexeclibgocrypto_DATA = \
178 crypto/blowfish.gox \
186 crypto/ripemd160.gox \
196 toolexeclibgodebugdir = $(toolexeclibgodir)/debug
198 toolexeclibgodebug_DATA = \
206 toolexeclibgoencodingdir = $(toolexeclibgodir)/encoding
208 toolexeclibgoencoding_DATA = \
209 encoding/ascii85.gox \
210 encoding/base64.gox \
211 encoding/binary.gox \
216 toolexeclibgoexpdir = $(toolexeclibgodir)/exp
218 toolexeclibgoexp_DATA = \
223 toolexeclibgogodir = $(toolexeclibgodir)/go
225 toolexeclibgogo_DATA = \
234 toolexeclibgohashdir = $(toolexeclibgodir)/hash
236 toolexeclibgohash_DATA = \
241 toolexeclibgohttpdir = $(toolexeclibgodir)/http
243 toolexeclibgohttp_DATA = \
246 toolexeclibgoimagedir = $(toolexeclibgodir)/image
248 toolexeclibgoimage_DATA = \
252 toolexeclibgoindexdir = $(toolexeclibgodir)/index
254 toolexeclibgoindex_DATA = \
255 index/suffixarray.gox
257 toolexeclibgoiodir = $(toolexeclibgodir)/io
259 toolexeclibgoio_DATA = \
262 toolexeclibgomimedir = $(toolexeclibgodir)/mime
264 toolexeclibgomime_DATA = \
267 toolexeclibgonetdir = $(toolexeclibgodir)/net
269 toolexeclibgonet_DATA = \
273 toolexeclibgoosdir = $(toolexeclibgodir)/os
275 toolexeclibgoos_DATA = \
278 toolexeclibgorpcdir = $(toolexeclibgodir)/rpc
280 toolexeclibgorpc_DATA = \
283 toolexeclibgoruntimedir = $(toolexeclibgodir)/runtime
285 toolexeclibgoruntime_DATA = \
288 toolexeclibgotestingdir = $(toolexeclibgodir)/testing
290 toolexeclibgotesting_DATA = \
296 runtime_mem_file = runtime/mem.c
298 runtime_mem_file = runtime/mem_posix_memalign.c
302 rtems_task_variable_add_file = runtime/rtems-task-variable-add.c
304 rtems_task_variable_add_file =
308 runtime/go-append.c \
309 runtime/go-assert.c \
310 runtime/go-assert-interface.c \
311 runtime/go-byte-array-to-string.c \
312 runtime/go-breakpoint.c \
313 runtime/go-caller.c \
314 runtime/go-can-convert-interface.c \
316 runtime/go-chan-cap.c \
317 runtime/go-chan-len.c \
318 runtime/go-check-interface.c \
320 runtime/go-closed.c \
321 runtime/go-construct-map.c \
322 runtime/go-convert-interface.c \
325 runtime/go-deferred-recover.c \
326 runtime/go-eface-compare.c \
327 runtime/go-eface-val-compare.c \
328 runtime/go-getgoroot.c \
330 runtime/go-gomaxprocs.c \
331 runtime/go-int-array-to-string.c \
332 runtime/go-int-to-string.c \
333 runtime/go-interface-compare.c \
334 runtime/go-interface-val-compare.c \
335 runtime/go-lock-os-thread.c \
336 runtime/go-map-delete.c \
337 runtime/go-map-index.c \
338 runtime/go-map-len.c \
339 runtime/go-map-range.c \
340 runtime/go-nanotime.c \
341 runtime/go-new-channel.c \
342 runtime/go-new-map.c \
346 runtime/go-panic-defer.c \
348 runtime/go-rec-big.c \
349 runtime/go-rec-nb-big.c \
350 runtime/go-rec-nb-small.c \
351 runtime/go-rec-small.c \
352 runtime/go-recover.c \
353 runtime/go-reflect.c \
354 runtime/go-reflect-call.c \
355 runtime/go-reflect-chan.c \
356 runtime/go-reflect-map.c \
358 runtime/go-runtime-error.c \
360 runtime/go-select.c \
361 runtime/go-semacquire.c \
362 runtime/go-send-big.c \
363 runtime/go-send-nb-big.c \
364 runtime/go-send-nb-small.c \
365 runtime/go-send-small.c \
366 runtime/go-signal.c \
367 runtime/go-strcmp.c \
368 runtime/go-string-to-byte-array.c \
369 runtime/go-string-to-int-array.c \
370 runtime/go-strplus.c \
371 runtime/go-strslice.c \
372 runtime/go-trampoline.c \
373 runtime/go-type-eface.c \
374 runtime/go-type-error.c \
375 runtime/go-type-identity.c \
376 runtime/go-type-interface.c \
377 runtime/go-type-string.c \
378 runtime/go-typedesc-equal.c \
379 runtime/go-typestring.c \
380 runtime/go-unreflect.c \
381 runtime/go-unsafe-new.c \
382 runtime/go-unsafe-newarray.c \
383 runtime/go-unsafe-pointer.c \
384 runtime/go-unwind.c \
387 $(runtime_mem_file) \
389 runtime/mfixalloc.c \
392 runtime/mheapmap32.c \
393 runtime/mheapmap64.c \
397 $(rtems_task_variable_add_file) \
407 goc2c.$(OBJEXT): runtime/goc2c.c
408 $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) $<
410 goc2c: goc2c.$(OBJEXT)
411 $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ $<
413 malloc.c: $(srcdir)/runtime/malloc.goc goc2c
414 ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
417 mprof.c: $(srcdir)/runtime/mprof.goc goc2c
418 ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
421 reflect.c: $(srcdir)/runtime/reflect.goc goc2c
422 ./goc2c --gcc --go-prefix libgo_reflect $< > $@.tmp
425 sigqueue.c: $(srcdir)/runtime/sigqueue.goc goc2c
426 ./goc2c --gcc --go-prefix libgo_runtime $< > $@.tmp
429 %.c: $(srcdir)/runtime/%.goc goc2c
430 ./goc2c --gcc $< > $@.tmp
450 go/bytes/bytes_decl.go
516 go/http/response.go \
519 go/http/transfer.go \
554 go/math/copysign.go \
566 go/math/hypot_port.go \
577 go/math/nextafter.go \
580 go/math/remainder.go \
586 go/math/sqrt_port.go \
593 go/mime/mediatype.go \
597 go_net_fd_os_file = go/net/fd_rtems.go
598 go_net_newpollserver_file = go/net/newpollserver_rtems.go
600 go_net_fd_os_file = go/net/fd_linux.go
601 go_net_newpollserver_file = go/net/newpollserver.go
606 go/net/dnsclient.go \
607 go/net/dnsconfig.go \
609 $(go_net_newpollserver_file) \
611 $(go_net_fd_os_file) \
614 go/net/iprawsock.go \
626 go/netchan/common.go \
627 go/netchan/export.go \
664 go/reflect/deepequal.go \
677 go/runtime/debug.go \
678 go/runtime/error.go \
679 go/runtime/extern.go \
681 go/runtime/softfloat64.go \
685 version.go: s-version; @true
688 echo "package runtime" > version.go.tmp
689 echo 'const defaultGoroot = "$(prefix)"' >> version.go.tmp
690 echo 'const theVersion = "'`$(CC) --version | sed 1q`'"' >> version.go.tmp
691 echo 'const theGoarch = "'$(GOARCH)'"' >> version.go.tmp
692 echo 'const theGoos = "'$(GOOS)'"' >> version.go.tmp
693 $(SHELL) $(srcdir)/../move-if-change version.go.tmp version.go
697 go/scanner/scanner.go
710 go/strconv/decimal.go \
716 go/strings/reader.go \
717 go/strings/strings.go
729 go_tabwriter_files = \
730 go/tabwriter/tabwriter.go
732 go_template_files = \
733 go/template/format.go \
734 go/template/template.go
737 go/testing/benchmark.go \
738 go/testing/testing.go
745 go/time/zoneinfo_unix.go
751 go/unicode/casetables.go \
752 go/unicode/digit.go \
753 go/unicode/letter.go \
763 go_websocket_files = \
764 go/websocket/client.go \
765 go/websocket/server.go \
766 go/websocket/websocket.go
772 go_archive_tar_files = \
773 go/archive/tar/common.go \
774 go/archive/tar/reader.go \
775 go/archive/tar/writer.go
777 go_archive_zip_files = \
778 go/archive/zip/reader.go \
779 go/archive/zip/struct.go
781 go_compress_flate_files = \
782 go/compress/flate/deflate.go \
783 go/compress/flate/huffman_bit_writer.go \
784 go/compress/flate/huffman_code.go \
785 go/compress/flate/inflate.go \
786 go/compress/flate/reverse_bits.go \
787 go/compress/flate/token.go \
788 go/compress/flate/util.go
790 go_compress_gzip_files = \
791 go/compress/gzip/gzip.go \
792 go/compress/gzip/gunzip.go
794 go_compress_zlib_files = \
795 go/compress/zlib/reader.go \
796 go/compress/zlib/writer.go
798 go_container_heap_files = \
799 go/container/heap/heap.go
801 go_container_list_files = \
802 go/container/list/list.go
804 go_container_ring_files = \
805 go/container/ring/ring.go
807 go_container_vector_files = \
808 go/container/vector/defs.go \
809 go/container/vector/intvector.go \
810 go/container/vector/stringvector.go \
811 go/container/vector/vector.go
813 go_crypto_aes_files = \
814 go/crypto/aes/block.go \
815 go/crypto/aes/cipher.go \
816 go/crypto/aes/const.go
817 go_crypto_block_files = \
818 go/crypto/block/cbc.go \
819 go/crypto/block/cfb.go \
820 go/crypto/block/cmac.go \
821 go/crypto/block/cipher.go \
822 go/crypto/block/ctr.go \
823 go/crypto/block/eax.go \
824 go/crypto/block/ecb.go \
825 go/crypto/block/ofb.go \
826 go/crypto/block/xor.go
827 go_crypto_blowfish_files = \
828 go/crypto/blowfish/block.go \
829 go/crypto/blowfish/const.go \
830 go/crypto/blowfish/cipher.go
831 go_crypto_cast5_files = \
832 go/crypto/cast5/cast5.go
833 go_crypto_hmac_files = \
834 go/crypto/hmac/hmac.go
835 go_crypto_md4_files = \
836 go/crypto/md4/md4.go \
837 go/crypto/md4/md4block.go
838 go_crypto_md5_files = \
839 go/crypto/md5/md5.go \
840 go/crypto/md5/md5block.go
841 go_crypto_ocsp_files = \
842 go/crypto/ocsp/ocsp.go
843 go_crypto_rand_files = \
844 go/crypto/rand/rand.go \
845 go/crypto/rand/rand_unix.go
846 go_crypto_rc4_files = \
848 go_crypto_ripemd160_files = \
849 go/crypto/ripemd160/ripemd160.go \
850 go/crypto/ripemd160/ripemd160block.go
851 go_crypto_rsa_files = \
852 go/crypto/rsa/pkcs1v15.go \
854 go_crypto_sha1_files = \
855 go/crypto/sha1/sha1.go \
856 go/crypto/sha1/sha1block.go
857 go_crypto_sha256_files = \
858 go/crypto/sha256/sha256.go \
859 go/crypto/sha256/sha256block.go
860 go_crypto_sha512_files = \
861 go/crypto/sha512/sha512.go \
862 go/crypto/sha512/sha512block.go
863 go_crypto_subtle_files = \
864 go/crypto/subtle/constant_time.go
865 go_crypto_tls_files = \
866 go/crypto/tls/alert.go \
867 go/crypto/tls/ca_set.go \
868 go/crypto/tls/common.go \
869 go/crypto/tls/conn.go \
870 go/crypto/tls/handshake_client.go \
871 go/crypto/tls/handshake_messages.go \
872 go/crypto/tls/handshake_server.go \
873 go/crypto/tls/prf.go \
875 go_crypto_x509_files = \
876 go/crypto/x509/x509.go
877 go_crypto_xtea_files = \
878 go/crypto/xtea/block.go \
879 go/crypto/xtea/cipher.go
881 go_debug_dwarf_files = \
882 go/debug/dwarf/buf.go \
883 go/debug/dwarf/const.go \
884 go/debug/dwarf/entry.go \
885 go/debug/dwarf/open.go \
886 go/debug/dwarf/type.go \
887 go/debug/dwarf/unit.go
888 go_debug_elf_files = \
889 go/debug/elf/elf.go \
891 go_debug_gosym_files = \
892 go/debug/gosym/pclntab.go \
893 go/debug/gosym/symtab.go
894 go_debug_macho_files = \
895 go/debug/macho/file.go \
896 go/debug/macho/macho.go
897 go_debug_pe_files = \
898 go/debug/pe/file.go \
901 go_debug_proc_files = \
902 go/debug/proc/proc.go \
903 go/debug/proc/proc_$(GOOS).go \
904 go/debug/proc/regs_$(GOOS)_$(GOARCH).go
906 go_encoding_ascii85_files = \
907 go/encoding/ascii85/ascii85.go
908 go_encoding_base64_files = \
909 go/encoding/base64/base64.go
910 go_encoding_binary_files = \
911 go/encoding/binary/binary.go
912 go_encoding_git85_files = \
913 go/encoding/git85/git.go
914 go_encoding_hex_files = \
915 go/encoding/hex/hex.go
916 go_encoding_pem_files = \
917 go/encoding/pem/pem.go
919 go_exp_datafmt_files = \
920 go/exp/datafmt/datafmt.go \
921 go/exp/datafmt/parser.go
922 go_exp_draw_files = \
923 go/exp/draw/draw.go \
925 go_exp_eval_files = \
926 go/exp/eval/abort.go \
927 go/exp/eval/bridge.go \
928 go/exp/eval/compiler.go \
929 go/exp/eval/expr.go \
930 go/exp/eval/expr1.go \
931 go/exp/eval/func.go \
932 go/exp/eval/scope.go \
933 go/exp/eval/stmt.go \
934 go/exp/eval/type.go \
935 go/exp/eval/typec.go \
936 go/exp/eval/value.go \
941 go/go/ast/filter.go \
946 go/go/doc/comment.go \
948 go_go_parser_files = \
949 go/go/parser/interface.go \
950 go/go/parser/parser.go
951 go_go_printer_files = \
952 go/go/printer/nodes.go \
953 go/go/printer/printer.go
954 go_go_scanner_files = \
955 go/go/scanner/errors.go \
956 go/go/scanner/scanner.go
957 go_go_token_files = \
959 go_go_typechecker_files = \
960 go/go/typechecker/scope.go \
961 go/go/typechecker/typechecker.go \
962 go/go/typechecker/universe.go
964 go_hash_adler32_files = \
965 go/hash/adler32/adler32.go
966 go_hash_crc32_files = \
967 go/hash/crc32/crc32.go
968 go_hash_crc64_files = \
969 go/hash/crc64/crc64.go
971 go_http_pprof_files = \
972 go/http/pprof/pprof.go
974 go_image_jpeg_files = \
975 go/image/jpeg/huffman.go \
976 go/image/jpeg/idct.go \
977 go/image/jpeg/reader.go
979 go_image_png_files = \
980 go/image/png/reader.go \
981 go/image/png/writer.go
983 go_index_suffixarray_files = \
984 go/index/suffixarray/suffixarray.go
986 go_io_ioutil_files = \
987 go/io/ioutil/ioutil.go \
988 go/io/ioutil/tempfile.go
990 go_mime_multipart_files = \
991 go/mime/multipart/multipart.go
993 go_net_dict_files = \
996 go_net_textproto_files = \
997 go/net/textproto/pipeline.go \
998 go/net/textproto/reader.go \
999 go/net/textproto/textproto.go \
1000 go/net/textproto/writer.go
1002 go_os_signal_files = \
1003 go/os/signal/signal.go \
1006 go_rpc_jsonrpc_files = \
1007 go/rpc/jsonrpc/client.go \
1008 go/rpc/jsonrpc/server.go
1010 go_runtime_pprof_files = \
1011 go/runtime/pprof/pprof.go
1013 go_testing_iotest_files = \
1014 go/testing/iotest/logger.go \
1015 go/testing/iotest/reader.go \
1016 go/testing/iotest/writer.go
1017 go_testing_quick_files = \
1018 go/testing/quick/quick.go
1019 go_testing_script_files = \
1020 go/testing/script/script.go
1023 syscall_exec_os_file = syscalls/exec_stubs.go
1024 syscall_socket_os_file = syscalls/socket_bsd.go
1025 syscall_socket_epoll_file =
1026 syscall_sysfile_os_file = syscalls/sysfile_rtems.go
1027 syscall_syscall_file = syscalls/syscall_stubs.go
1028 syscall_errstr_file = syscalls/errstr_rtems.go
1029 syscall_errstr_decl_file = syscalls/errstr_decl_rtems.go
1031 syscall_exec_os_file = syscalls/exec.go
1032 syscall_socket_os_file = syscalls/socket_linux.go
1033 syscall_socket_epoll_file = syscalls/socket_epoll.go
1034 syscall_sysfile_os_file = syscalls/sysfile_linux.go
1035 syscall_syscall_file = syscalls/syscall.go
1036 syscall_errstr_file = syscalls/errstr.go
1038 syscall_errstr_decl_file = syscalls/errstr_decl_linux.go
1040 syscall_errstr_decl_file = syscalls/errstr_decl.go
1044 syscall_arch.go: s-syscall_arch; @true
1045 s-syscall_arch: Makefile
1046 rm -f syscall_arch.go.tmp
1047 echo "package syscall" > syscall_arch.go.tmp
1048 echo 'const ARCH = "'$(GOARCH)'"' >> syscall_arch.go.tmp
1049 $(SHELL) $(srcdir)/../move-if-change syscall_arch.go.tmp syscall_arch.go
1052 go_syscall_files = \
1053 $(syscall_errstr_file) \
1054 $(syscall_errstr_decl_file) \
1055 syscalls/exec_helpers.go \
1056 $(syscall_exec_os_file) \
1057 syscalls/socket.go \
1058 $(syscall_socket_os_file) \
1059 $(syscall_socket_epoll_file) \
1060 $(syscall_syscall_file) \
1061 syscalls/syscall_unix.go \
1062 syscalls/stringbyte.go \
1063 syscalls/syscall_$(GOOS).go \
1064 syscalls/syscall_$(GOOS)_$(GOARCH).go \
1065 syscalls/sysfile_posix.go \
1066 $(syscall_sysfile_os_file) \
1069 go_syscall_c_files = \
1080 expvar/libexpvar.la \
1094 netchan/libnetchan.la \
1099 reflect/libreflect.la \
1100 regexp/libregexp.la \
1102 runtime/libruntime.la \
1103 scanner/libscanner.la \
1106 strconv/libstrconv.la \
1107 strings/libstrings.la \
1109 syslog/libsyslog.la \
1110 tabwriter/libtabwriter.la \
1111 template/libtemplate.la \
1114 unicode/libunicode.la \
1117 websocket/libwebsocket.la \
1121 compress/libflate.la \
1122 compress/libgzip.la \
1123 compress/libzlib.la \
1124 container/libheap.la \
1125 container/liblist.la \
1126 container/libring.la \
1127 container/libvector.la \
1129 crypto/libblock.la \
1130 crypto/libblowfish.la \
1131 crypto/libcast5.la \
1138 crypto/libripemd160.la \
1141 crypto/libsha256.la \
1142 crypto/libsha512.la \
1143 crypto/libsubtle.la \
1153 encoding/libascii85.la \
1154 encoding/libbase64.la \
1155 encoding/libbinary.la \
1156 encoding/libgit85.la \
1157 encoding/libhex.la \
1158 encoding/libpem.la \
1168 go/libtypechecker.la \
1169 hash/libadler32.la \
1175 index/libsuffixarray.la \
1177 mime/libmultipart.la \
1179 net/libtextproto.la \
1182 runtime/libpprof.la \
1183 syscalls/libsyscall.la \
1184 testing/libtesting.la \
1185 testing/libiotest.la \
1186 testing/libquick.la \
1187 testing/libscript.la
1189 libgo_la_SOURCES = $(runtime_files)
1191 libgo_la_LIBADD = $(libgo_go_objs) $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS)
1193 libgobegin_a_SOURCES = \
1196 LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
1198 GOCFLAGS = $(CFLAGS)
1199 AM_GOCFLAGS = $(STRINGOPS_FLAG)
1200 GOCOMPILE = $(GOC) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_GOCFLAGS) $(GOCFLAGS)
1202 LTGOCOMPILE = $(LIBTOOL) --tag GO --mode=compile $(GOC) $(INCLUDES) \
1203 $(AM_GOCFLAGS) $(GOCFLAGS)
1205 GOLINK = $(LIBTOOL) --tag GO --mode-link $(GOC) \
1206 $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_GOCFLAGS) $(LTLDFLAGS) \
1207 $(PTHREAD_LIBS) $(MATH_LIBS) -o $@
1211 rm -f `echo $@ | sed -e 's|/lib|/|' -e 's/\.a/.gox/'`; \
1212 test -d $(@D) || $(MKDIR_P) $(@D); \
1214 files=`echo $^ | sed -e 's/[^ ]*\.gox//g'`; \
1215 if $(LTGOCOMPILE) -I . -c -fgo-prefix="libgo_$(@D)" -o $@.$(OBJEXT) $$files; then \
1216 $(AR) rc $@ $@.$(OBJEXT); \
1219 # Build a .la file from a .a file.
1231 @GC="$(GOC) -L `${PWD_COMMAND}` -L `${PWD_COMMAND}`/.libs -Wl,-R,`${PWD_COMMAND}`/.libs"; \
1233 RUNTESTFLAGS="$(RUNTESTFLAGS)"; \
1234 export RUNTESTFLAGS; \
1238 prefix=`if test "$(@D)" = "regexp"; then echo regexp-test; else dirname $(@D); fi`; \
1239 test "$${prefix}" != "." || prefix="$(@D)"; \
1240 if $(srcdir)/testsuite/gotest --dejagnu=$(use_dejagnu) --basedir=$(srcdir) --srcdir=$(srcdir)/go/$(@D) --prefix="libgo_$${prefix}" --pkgfiles="$(go_$(subst /,_,$(@D))_files)" >>$@-log 2>&1; then \
1241 echo "PASS: $(@D)"; \
1243 echo "FAIL: $(@D)"; \
1248 # Build all packages before checking any.
1249 CHECK_DEPS = libgo.la libgobegin.a \
1250 $(toolexeclib_DATA) \
1251 $(toolexeclibarchive_DATA) \
1252 $(toolexeclibcompress_DATA) \
1253 $(toolexeclibcontainer_DATA) \
1254 $(toolexeclibcrypto_DATA) \
1255 $(toolexeclibdebug_DATA) \
1256 $(toolexeclibencoding_DATA) \
1257 $(toolexeclibexp_DATA) \
1258 $(toolexeclibgo_DATA) \
1259 $(toolexeclibhash_DATA) \
1260 $(toolexeclibhttp_DATA) \
1261 $(toolexeclibimage_DATA) \
1262 $(toolexeclibio_DATA) \
1263 $(toolexeclibos_DATA) \
1264 $(toolexeclibrpc_DATA) \
1265 $(toolexeclibruntime_DATA) \
1266 $(toolexeclibtesting_DATA)
1268 asn1/libasn1.a: $(go_asn1_files) bytes.gox fmt.gox io.gox os.gox reflect.gox \
1269 strconv.gox strings.gox time.gox
1271 asn1/libasn1.la: asn1/libasn1.a
1272 asn1/check: $(CHECK_DEPS)
1276 big/libbig.a: $(go_big_files) fmt.gox rand.gox strings.gox
1278 big/libbig.la: big/libbig.a
1279 big/check: $(CHECK_DEPS)
1283 bufio/libbufio.a: $(go_bufio_files) bytes.gox io.gox os.gox strconv.gox \
1286 bufio/libbufio.la: bufio/libbufio.a
1287 bufio/check: $(CHECK_DEPS)
1291 bytes/libbytes.a: $(go_bytes_files) $(go_bytes_c_files) io.gox os.gox \
1292 unicode.gox utf8.gox
1293 test -d bytes || $(MKDIR_P) bytes
1294 $(LTGOCOMPILE) -c -o bytes/bytes.$(OBJEXT) -fgo-prefix=libgo_bytes $(srcdir)/go/bytes/buffer.go $(srcdir)/go/bytes/bytes.go $(srcdir)/go/bytes/bytes_decl.go
1295 $(LTCOMPILE) -c -o bytes/index.$(OBJEXT) $(srcdir)/go/bytes/indexbyte.c
1297 $(AR) rc $@ bytes/bytes.$(OBJEXT) bytes/index.$(OBJEXT)
1298 bytes/libbytes.la: bytes/libbytes.a
1299 $(LINK) bytes/bytes.lo bytes/index.lo
1300 bytes/check: $(CHECK_DEPS)
1304 cmath/libcmath.a: $(go_cmath_files) math.gox
1306 cmath/libcmath.la: cmath/libcmath.a
1307 cmath/check: $(CHECK_DEPS)
1311 ebnf/libebnf.a: $(go_ebnf_files) container/vector.gox go/scanner.gox \
1312 go/token.gox os.gox strconv.gox unicode.gox utf8.gox
1314 ebnf/libebnf.la: ebnf/libebnf.a
1315 ebnf/check: $(CHECK_DEPS)
1319 exec/libexec.a: $(go_exec_files) os.gox strings.gox
1321 exec/libexec.la: exec/libexec.a
1322 exec/check: $(CHECK_DEPS)
1326 expvar/libexpvar.a: $(go_expvar_files) bytes.gox fmt.gox http.gox json.gox \
1327 log.gox os.gox runtime.gox strconv.gox sync.gox
1329 expvar/libexpvar.la: expvar/libexpvar.a
1330 expvar/check: $(CHECK_DEPS)
1332 .PHONY: expvar/check
1334 flag/libflag.a: $(go_flag_files) fmt.gox os.gox strconv.gox
1336 flag/libflag.la: flag/libflag.a
1337 flag/check: $(CHECK_DEPS)
1341 fmt/libfmt.a: $(go_fmt_files) bytes.gox io.gox os.gox reflect.gox strconv.gox \
1342 strings.gox unicode.gox utf8.gox
1344 fmt/libfmt.la: fmt/libfmt.a
1345 fmt/check: $(CHECK_DEPS)
1349 gob/libgob.a: $(go_gob_files) bytes.gox fmt.gox io.gox math.gox os.gox \
1350 reflect.gox runtime.gox strings.gox sync.gox unicode.gox
1352 gob/libgob.la: gob/libgob.a
1353 gob/check: $(CHECK_DEPS)
1357 hash/libhash.a: $(go_hash_files) io.gox
1359 hash/libhash.la: hash/libhash.a
1360 hash/check: $(CHECK_DEPS)
1364 html/libhtml.a: $(go_html_files) bytes.gox io.gox os.gox strconv.gox \
1365 strings.gox utf8.gox
1367 html/libhtml.la: html/libhtml.a
1368 html/check: $(CHECK_DEPS)
1372 http/libhttp.a: $(go_http_files) bufio.gox bytes.gox container/list.gox \
1373 container/vector.gox crypto/rand.gox crypto/tls.gox \
1374 encoding/base64.gox fmt.gox io.gox io/ioutil.gox log.gox \
1375 mime.gox mime/multipart.gox net.gox os.gox path.gox sort.gox \
1376 strconv.gox strings.gox sync.gox time.gox utf8.gox
1378 http/libhttp.la: http/libhttp.a
1379 http/check: $(CHECK_DEPS)
1383 image/libimage.a: $(go_image_files) bufio.gox io.gox os.gox strconv.gox
1385 image/libimage.la: image/libimage.a
1386 image/check: $(CHECK_DEPS)
1390 io/libio.a: $(go_io_files) os.gox runtime.gox sync.gox
1392 io/libio.la: io/libio.a
1393 io/check: $(CHECK_DEPS)
1397 json/libjson.a: $(go_json_files) bytes.gox container/vector.gox fmt.gox \
1398 io.gox math.gox os.gox reflect.gox runtime.gox strconv.gox \
1399 strings.gox unicode.gox utf16.gox utf8.gox
1401 json/libjson.la: json/libjson.a
1402 json/check: $(CHECK_DEPS)
1406 log/liblog.a: $(go_log_files) bytes.gox fmt.gox io.gox runtime.gox os.gox \
1409 log/liblog.la: log/liblog.a
1410 log/check: $(CHECK_DEPS)
1414 math/libmath.a: $(go_math_files)
1416 math/libmath.la: math/libmath.a
1417 math/check: $(CHECK_DEPS)
1421 mime/libmime.a: $(go_mime_files) bufio.gox bytes.gox os.gox strings.gox \
1422 sync.gox unicode.gox
1424 mime/libmime.la: mime/libmime.a
1425 mime/check: $(CHECK_DEPS)
1429 net/libnet.a: $(go_net_files) fmt.gox io.gox os.gox reflect.gox strconv.gox \
1430 strings.gox sync.gox syscall.gox
1432 net/libnet.la: net/libnet.a
1433 net/check: $(CHECK_DEPS)
1437 netchan/libnetchan.a: $(go_netchan_files) gob.gox log.gox net.gox os.gox \
1438 reflect.gox sync.gox time.gox
1440 netchan/libnetchan.la: netchan/libnetchan.a
1441 netchan/check: $(CHECK_DEPS)
1443 .PHONY: netchan/check
1445 os/libos.a: $(go_os_files) sync.gox syscall.gox
1447 os/libos.la: os/libos.a
1448 os/check: $(CHECK_DEPS)
1452 patch/libpatch.a: $(go_patch_files) bytes.gox compress/zlib.gox \
1453 crypto/sha1.gox encoding/git85.gox fmt.gox io.gox os.gox \
1454 path.gox strings.gox
1456 patch/libpatch.la: patch/libpatch.a
1457 patch/check: $(CHECK_DEPS)
1461 path/libpath.a: $(go_path_files) io/ioutil.gox os.gox sort.gox strings.gox \
1464 path/libpath.la: path/libpath.a
1465 path/check: $(CHECK_DEPS)
1469 rand/librand.a: $(go_rand_files) math.gox sync.gox
1471 rand/librand.la: rand/librand.a
1472 rand/check: $(CHECK_DEPS)
1476 reflect/libreflect.a: $(go_reflect_files) math.gox runtime.gox strconv.gox \
1479 reflect/libreflect.la: reflect/libreflect.a
1480 reflect/check: $(CHECK_DEPS)
1482 .PHONY: reflect/check
1484 regexp/libregexp.a: $(go_regexp_files) bytes.gox io.gox os.gox strings.gox \
1487 regexp/libregexp.la: regexp/libregexp.a
1488 regexp/check: $(CHECK_DEPS)
1490 .PHONY: regexp/check
1492 rpc/librpc.a: $(go_rpc_files) bufio.gox fmt.gox gob.gox http.gox io.gox \
1493 log.gox net.gox os.gox reflect.gox sort.gox strings.gox \
1494 strconv.gox sync.gox template.gox unicode.gox utf8.gox
1496 rpc/librpc.la: rpc/librpc.a
1497 rpc/check: $(CHECK_DEPS)
1501 runtime/libruntime.a: $(go_runtime_files)
1503 runtime/libruntime.la: runtime/libruntime.a
1504 runtime/check: $(CHECK_DEPS)
1506 .PHONY: runtime/check
1508 scanner/libscanner.a: $(go_scanner_files) bytes.gox fmt.gox io.gox os.gox \
1509 unicode.gox utf8.gox
1511 scanner/libscanner.la: scanner/libscanner.a
1512 scanner/check: $(CHECK_DEPS)
1514 .PHONY: scanner/check
1516 smtp/libsmtp.a: $(go_smtp_files) crypto/tls.gox encoding/base64.gox io.gox \
1517 net.gox net/textproto.gox os.gox strings.gox
1519 smtp/libsmtp.la: smtp/libsmtp.a
1520 smtp/check: $(CHECK_DEPS)
1524 sort/libsort.a: $(go_sort_files)
1526 sort/libsort.la: sort/libsort.a
1527 sort/check: $(CHECK_DEPS)
1531 strconv/libstrconv.a: $(go_strconv_files) bytes.gox math.gox os.gox \
1532 strings.gox unicode.gox utf8.gox
1534 strconv/libstrconv.la: strconv/libstrconv.a
1535 strconv/check: $(CHECK_DEPS)
1537 .PHONY: strconv/check
1539 strings/libstrings.a: $(go_strings_files) os.gox unicode.gox utf8.gox
1541 strings/libstrings.la: strings/libstrings.a
1542 strings/check: $(CHECK_DEPS)
1544 .PHONY: strings/check
1546 sync/libsync.a: $(go_sync_files) $(go_sync_c_files) runtime.gox
1547 test -d sync || $(MKDIR_P) sync
1548 $(LTGOCOMPILE) -c -o sync/mutex.$(OBJEXT) -fgo-prefix=libgo_sync $(srcdir)/go/sync/mutex.go $(srcdir)/go/sync/once.go $(srcdir)/go/sync/rwmutex.go
1549 $(LTCOMPILE) -c -o sync/cas.$(OBJEXT) $(srcdir)/go/sync/cas.c
1551 $(AR) rc $@ sync/mutex.$(OBJEXT) sync/cas.$(OBJEXT)
1552 sync/libsync.la: sync/libsync.a
1553 $(LINK) sync/mutex.lo sync/cas.lo
1554 sync/check: $(CHECK_DEPS)
1558 syslog/libsyslog.a: $(go_syslog_files) fmt.gox log.gox net.gox os.gox
1560 syslog/libsyslog.la: syslog/libsyslog.a
1561 syslog/check: $(CHECK_DEPS)
1563 .PHONY: syslog/check
1565 tabwriter/libtabwriter.a: $(go_tabwriter_files) bytes.gox io.gox os.gox \
1568 tabwriter/libtabwriter.la: tabwriter/libtabwriter.a
1569 tabwriter/check: $(CHECK_DEPS)
1571 .PHONY: tabwriter/check
1573 template/libtemplate.a: $(go_template_files) bytes.gox fmt.gox io.gox os.gox \
1574 reflect.gox runtime.gox strings.gox container/vector.gox
1576 template/libtemplate.la: template/libtemplate.a
1577 template/check: $(CHECK_DEPS)
1579 .PHONY: template/check
1581 testing/libtesting.a: $(go_testing_files) flag.gox fmt.gox os.gox regexp.gox \
1582 runtime.gox time.gox
1584 testing/libtesting.la: testing/libtesting.a
1585 testing/check: $(CHECK_DEPS)
1587 .PHONY: testing/check
1589 time/libtime.a: $(go_time_files) bytes.gox io/ioutil.gox os.gox strconv.gox \
1590 sync.gox syscall.gox
1592 time/libtime.la: time/libtime.a
1593 time/check: $(CHECK_DEPS)
1597 try/libtry.a: $(go_try_files) fmt.gox io.gox os.gox reflect.gox unicode.gox
1599 try/libtry.la: try/libtry.a
1600 try/check: $(CHECK_DEPS)
1604 unicode/libunicode.a: $(go_unicode_files)
1606 unicode/libunicode.la: unicode/libunicode.a
1607 unicode/check: $(CHECK_DEPS)
1609 .PHONY: unicode/check
1611 utf16/libutf16.a: $(go_utf16_files) unicode.gox
1613 utf16/libutf16.la: utf16/libutf16.a
1614 utf16/check: $(CHECK_DEPS)
1618 utf8/libutf8.a: $(go_utf8_files) unicode.gox
1620 utf8/libutf8.la: utf8/libutf8.a
1621 utf8/check: $(CHECK_DEPS)
1625 websocket/libwebsocket.a: $(go_websocket_files) bufio.gox bytes.gox \
1626 container/vector.gox crypto/md5.gox crypto/tls.gox \
1627 encoding/binary.gox fmt.gox http.gox io.gox net.gox os.gox \
1628 rand.gox strings.gox
1630 websocket/libwebsocket.la: websocket/libwebsocket.a
1631 websocket/check: $(CHECK_DEPS)
1633 .PHONY: websocket/check
1635 xml/libxml.a: $(go_xml_files) bufio.gox bytes.gox io.gox os.gox reflect.gox \
1636 strconv.gox strings.gox unicode.gox utf8.gox
1638 xml/libxml.la: xml/libxml.a
1639 xml/check: $(CHECK_DEPS)
1643 archive/libtar.a: $(go_archive_tar_files) bytes.gox io.gox os.gox strconv.gox \
1646 archive/libtar.la: archive/libtar.a
1647 archive/tar/check: $(CHECK_DEPS)
1648 @$(MKDIR_P) archive/tar
1650 .PHONY: archive/tar/check
1652 archive/libzip.a: $(go_archive_zip_files) bufio.gox bytes.gox \
1653 compress/flate.gox hash.gox hash/crc32.gox \
1654 encoding/binary.gox io.gox os.gox
1656 archive/libzip.la: archive/libzip.a
1657 archive/zip/check: $(CHECK_DEPS)
1658 @$(MKDIR_P) archive/zip
1660 .PHONY: archive/zip/check
1662 compress/libflate.a: $(go_compress_flate_files) bufio.gox io.gox math.gox \
1663 os.gox sort.gox strconv.gox
1665 compress/libflate.la: compress/libflate.a
1666 compress/flate/check: $(CHECK_DEPS)
1667 @$(MKDIR_P) compress/flate
1669 .PHONY: compress/flate/check
1671 compress/libgzip.a: $(go_compress_gzip_files) bufio.gox compress/flate.gox \
1672 hash.gox hash/crc32.gox io.gox os.gox
1674 compress/libgzip.la: compress/libgzip.a
1675 compress/gzip/check: $(CHECK_DEPS)
1676 @$(MKDIR_P) compress/gzip
1678 .PHONY: compress/gzip/check
1680 compress/libzlib.a: $(go_compress_zlib_files) bufio.gox compress/flate.gox \
1681 hash.gox hash/adler32.gox io.gox os.gox
1683 compress/libzlib.la: compress/libzlib.a
1684 compress/zlib/check: $(CHECK_DEPS)
1685 @$(MKDIR_P) compress/zlib
1687 .PHONY: compress/zlib/check
1689 container/libheap.a: $(go_container_heap_files) sort.gox
1691 container/libheap.la: container/libheap.a
1692 container/heap/check: $(CHECK_DEPS)
1693 @$(MKDIR_P) container/heap
1695 .PHONY: container/heap/check
1697 container/liblist.a: $(go_container_list_files)
1699 container/liblist.la: container/liblist.a
1700 container/list/check: $(CHECK_DEPS)
1701 @$(MKDIR_P) container/list
1703 .PHONY: container/list/check
1705 container/libring.a: $(go_container_ring_files)
1707 container/libring.la: container/libring.a
1708 container/ring/check: $(CHECK_DEPS)
1709 @$(MKDIR_P) container/ring
1711 .PHONY: container/ring/check
1713 container/libvector.a: $(go_container_vector_files)
1715 container/libvector.la: container/libvector.a
1716 container/vector/check: $(CHECK_DEPS)
1717 @$(MKDIR_P) container/vector
1719 .PHONY: container/vector/check
1721 crypto/libaes.a: $(go_crypto_aes_files) os.gox strconv.gox
1723 crypto/libaes.la: crypto/libaes.a
1724 crypto/aes/check: $(CHECK_DEPS)
1725 @$(MKDIR_P) crypto/aes
1727 .PHONY: crypto/aes/check
1729 crypto/libblock.a: $(go_crypto_block_files) fmt.gox io.gox os.gox strconv.gox
1731 crypto/libblock.la: crypto/libblock.a
1732 crypto/block/check: $(CHECK_DEPS)
1733 @$(MKDIR_P) crypto/block
1735 .PHONY: crypto/block/check
1737 crypto/libblowfish.a: $(go_crypto_blowfish_files) os.gox strconv.gox
1739 crypto/libblowfish.la: crypto/libblowfish.a
1740 crypto/blowfish/check: $(CHECK_DEPS)
1741 @$(MKDIR_P) crypto/blowfish
1743 .PHONY: crypto/blowfish/check
1745 crypto/libcast5.a: $(go_crypto_cast5_files) os.gox
1747 crypto/libcast5.la: crypto/libcast5.a
1748 crypt/cast5/check: $(CHECK_DEPS)
1749 @$(MKDIR_P) crypto/cast5
1751 .PHONY: crypto/cast5/check
1753 crypto/libhmac.a: $(go_crypto_hmac_files) crypto/md5.gox crypto/sha1.gox \
1756 crypto/libhmac.la: crypto/libhmac.a
1757 crypto/hmac/check: $(CHECK_DEPS)
1758 @$(MKDIR_P) crypto/hmac
1760 .PHONY: crypto/hmac/check
1762 crypto/libmd4.a: $(go_crypto_md4_files) hash.gox os.gox
1764 crypto/libmd4.la: crypto/libmd4.a
1765 crypto/md4/check: $(CHECK_DEPS)
1766 @$(MKDIR_P) crypto/md4
1768 .PHONY: crypto/md4/check
1770 crypto/libmd5.a: $(go_crypto_md5_files) hash.gox os.gox
1772 crypto/libmd5.la: crypto/libmd5.a
1773 crypto/md5/check: $(CHECK_DEPS)
1774 @$(MKDIR_P) crypto/md5
1776 .PHONY: crypto/md5/check
1778 crypto/libocsp.a: $(go_crypto_ocsp_files) asn1.gox crypto/rsa.gox \
1779 crypto/sha1.gox crypto/x509.gox os.gox time.gox
1781 crypto/libocsp.la: crypto/libocsp.a
1782 crypto/ocsp/check: $(CHECK_DEPS)
1783 @$(MKDIR_P) crypto/ocsp
1785 .PHONY: crypto/ocsp/check
1787 crypto/librand.a: $(go_crypto_rand_files) crypto/aes.gox io.gox os.gox \
1790 crypto/librand.la: crypto/librand.a
1791 crypto/rand/check: $(CHECK_DEPS)
1792 @$(MKDIR_P) crypto/rand
1794 .PHONY: crypto/rand/check
1796 crypto/librc4.a: $(go_crypto_rc4_files) os.gox strconv.gox
1798 crypto/librc4.la: crypto/librc4.a
1799 crypto/rc4/check: $(CHECK_DEPS)
1800 @$(MKDIR_P) crypto/rc4
1802 .PHONY: crypto/rc4/check
1804 crypto/libripemd160.a: $(go_crypto_ripemd160_files) hash.gox os.gox
1806 crypto/libripemd160.la: crypto/libripemd160.a
1807 crypto/ripemd160/check: $(CHECK_DEPS)
1808 @$(MKDIR_P) crypto/ripemd160
1810 .PHONY: crypto/ripemd160/check
1812 crypto/librsa.a: $(go_crypto_rsa_files) big.gox crypto/sha1.gox \
1813 crypto/subtle.gox encoding/hex.gox hash.gox io.gox os.gox
1815 crypto/librsa.la: crypto/librsa.a
1816 crypto/rsa/check: $(CHECK_DEPS)
1817 @$(MKDIR_P) crypto/rsa
1819 .PHONY: crypto/rsa/check
1821 crypto/libsha1.a: $(go_crypto_sha1_files) hash.gox os.gox
1823 crypto/libsha1.la: crypto/libsha1.a
1824 crypto/sha1/check: $(CHECK_DEPS)
1825 @$(MKDIR_P) crypto/sha1
1827 .PHONY: crypto/sha1/check
1829 crypto/libsha256.a: $(go_crypto_sha256_files) hash.gox os.gox
1831 crypto/libsha256.la: crypto/libsha256.a
1832 crypto/sha256/check: $(CHECK_DEPS)
1833 @$(MKDIR_P) crypto/sha256
1835 .PHONY: crypto/sha256/check
1837 crypto/libsha512.a: $(go_crypto_sha512_files) hash.gox os.gox
1839 crypto/libsha512.la: crypto/libsha512.a
1840 crypto/sha512/check: $(CHECK_DEPS)
1841 @$(MKDIR_P) crypto/sha512
1843 .PHONY: crypto/sha512/check
1845 crypto/libsubtle.a: $(go_crypto_subtle_files)
1847 crypto/libsubtle.la: crypto/libsubtle.a
1848 crypto/subtle/check: $(CHECK_DEPS)
1849 @$(MKDIR_P) crypto/subtle
1851 .PHONY: crypto/subtle/check
1853 crypto/libtls.a: $(go_crypto_tls_files) bufio.gox bytes.gox container/list.gox \
1854 crypto/hmac.gox crypto/md5.gox crypto/rc4.gox crypto/rand.gox \
1855 crypto/rsa.gox crypto/sha1.gox crypto/subtle.gox \
1856 crypto/rsa.gox crypto/x509.gox encoding/pem.gox fmt.gox \
1857 hash.gox io.gox io/ioutil.gox net.gox os.gox strings.gox \
1860 crypto/libtls.la: crypto/libtls.a
1861 crypto/tls/check: $(CHECK_DEPS)
1862 @$(MKDIR_P) crypto/tls
1864 .PHONY: crypto/tls/check
1866 crypto/libx509.a: $(go_crypto_x509_files) asn1.gox big.gox \
1867 container/vector.gox crypto/rsa.gox crypto/sha1.gox hash.gox \
1868 os.gox strings.gox time.gox
1870 crypto/libx509.la: crypto/libx509.a
1871 crypto/x509/check: $(CHECK_DEPS)
1872 @$(MKDIR_P) crypto/x509
1874 .PHONY: crypto/x509/check
1876 crypto/libxtea.a: $(go_crypto_xtea_files) os.gox strconv.gox
1878 crypto/libxtea.la: crypto/libxtea.a
1879 crypto/xtea/check: $(CHECK_DEPS)
1880 @$(MKDIR_P) crypto/xtea
1882 .PHONY: crypto/xtea/check
1884 debug/libdwarf.a: $(go_debug_dwarf_files) encoding/binary.gox os.gox \
1887 debug/libdwarf.la: debug/libdwarf.a
1888 debug/dwarf/check: $(CHECK_DEPS)
1889 @$(MKDIR_P) debug/dwarf
1891 .PHONY: debug/dwarf/check
1893 debug/libelf.a: $(go_debug_elf_files) bytes.gox debug/dwarf.gox \
1894 encoding/binary.gox fmt.gox io.gox os.gox strconv.gox
1896 debug/libelf.la: debug/libelf.a
1897 debug/elf/check: $(CHECK_DEPS)
1898 @$(MKDIR_P) debug/elf
1900 .PHONY: debug/elf/check
1902 debug/libgosym.a: $(go_debug_gosym_files) encoding/binary.gox fmt.gox os.gox \
1903 strconv.gox strings.gox
1905 debug/libgosym.la: debug/libgosym.a
1906 debug/gosym/check: $(CHECK_DEPS)
1907 @$(MKDIR_P) debug/gosym
1909 .PHONY: debug/gosym/check
1911 debug/libmacho.a: $(go_debug_macho_files) bytes.gox debug/dwarf.gox \
1912 encoding/binary.gox fmt.gox io.gox os.gox strconv.gox
1914 debug/libmacho.la: debug/libmacho.a
1915 debug/macho/check: $(CHECK_DEPS)
1916 @$(MKDIR_P) debug/macho
1918 .PHONY: debug/macho/check
1920 debug/libpe.a: $(go_debug_pe_files) debug/dwarf.gox encoding/binary.gox \
1921 fmt.gox io.gox os.gox strconv.gox
1923 debug/libpe.la: debug/libpe.a
1924 debug/pe/check: $(CHECK_DEPS)
1925 @$(MKDIR_P) debug/pe
1927 .PHONY: debug/pe/check
1929 debug/libproc.a: $(go_debug_proc_files) container/vector.gox fmt.gox \
1930 io/ioutil.gox os.gox runtime.gox strconv.gox strings.gox \
1931 sync.gox syscall.gox
1933 debug/libproc.la: debug/libproc.a
1934 debug/proc/check: $(CHECK_DEPS)
1935 @$(MKDIR_P) debug/proc
1937 .PHONY: debug/proc/check
1939 encoding/libascii85.a: $(go_encoding_ascii85_files) io.gox os.gox strconv.gox
1941 encoding/libascii85.la: encoding/libascii85.a
1942 encoding/ascii85/check: $(CHECK_DEPS)
1943 @$(MKDIR_P) encoding/ascii85
1945 .PHONY: encoding/ascii85/check
1947 encoding/libbase64.a: $(go_encoding_base64_files) io.gox os.gox strconv.gox
1949 encoding/libbase64.la: encoding/libbase64.a
1950 encoding/base64/check: $(CHECK_DEPS)
1951 @$(MKDIR_P) encoding/base64
1953 .PHONY: encoding/base64/check
1955 encoding/libbinary.a: $(go_encoding_binary_files) io.gox math.gox os.gox \
1958 encoding/libbinary.la: encoding/libbinary.a
1959 encoding/binary/check: $(CHECK_DEPS)
1960 @$(MKDIR_P) encoding/binary
1962 .PHONY: encoding/binary/check
1964 encoding/libgit85.a: $(go_encoding_git85_files) bytes.gox io.gox os.gox \
1967 encoding/libgit85.la: encoding/libgit85.a
1968 encoding/git85/check: $(CHECK_DEPS)
1969 @$(MKDIR_P) encoding/git85
1971 .PHONY: encoding/git85/check
1973 encoding/libhex.a: $(go_encoding_hex_files) os.gox strconv.gox
1975 encoding/libhex.la: encoding/libhex.a
1976 encoding/hex/check: $(CHECK_DEPS)
1977 @$(MKDIR_P) encoding/hex
1979 .PHONY: encoding/hex/check
1981 encoding/libpem.a: $(go_encoding_pem_files) bytes.gox encoding/base64.gox
1983 encoding/libpem.la: encoding/libpem.a
1984 encoding/pem/check: $(CHECK_DEPS)
1985 @$(MKDIR_P) encoding/pem
1987 .PHONY: encoding/pem/check
1989 exp/libdatafmt.a: $(go_exp_datafmt_files) bytes.gox container/vector.gox \
1990 fmt.gox go/scanner.gox go/token.gox io.gox os.gox reflect.gox \
1991 runtime.gox strconv.gox strings.gox
1993 exp/libdatafmt.la: exp/libdatafmt.a
1994 exp/datafmt/check: $(CHECK_DEPS)
1995 @$(MKDIR_P) exp/datafmt
1997 .PHONY: exp/datafmt/check
1999 exp/libdraw.a: $(go_exp_draw_files) image.gox os.gox
2001 exp/libdraw.la: exp/libdraw.a
2002 exp/draw/check: $(CHECK_DEPS)
2003 @$(MKDIR_P) exp/draw
2005 .PHONY: exp/draw/check
2007 exp/libeval.a: $(go_exp_eval_files) big.gox go/ast.gox go/parser.gox \
2008 go/scanner.gox go/token.gox fmt.gox log.gox strconv.gox \
2009 strings.gox os.gox reflect.gox runtime.gox sort.gox template.gox
2011 exp/libeval.la: exp/libeval.a
2012 exp/eval/check: $(CHECK_DEPS)
2013 @$(MKDIR_P) exp/eval
2015 .PHONY: exp/eval/check
2017 go/libast.a: $(go_go_ast_files) fmt.gox go/token.gox io.gox os.gox \
2018 reflect.gox unicode.gox utf8.gox
2020 go/libast.la: go/libast.a
2021 go/ast/check: $(CHECK_DEPS)
2024 .PHONY: go/ast/check
2026 go/libdoc.a: $(go_go_doc_files) go/ast.gox go/token.gox io.gox regexp.gox \
2027 sort.gox strings.gox template.gox
2029 go/libdoc.la: go/libdoc.a
2030 go/doc/check: $(CHECK_DEPS)
2033 .PHONY: go/doc/check
2035 go/libparser.a: $(go_go_parser_files) bytes.gox fmt.gox go/ast.gox \
2036 go/scanner.gox go/token.gox io.gox io/ioutil.gox os.gox \
2037 path.gox strings.gox
2039 go/libparser.la: go/libparser.a
2040 go/parser/check: $(CHECK_DEPS)
2041 @$(MKDIR_P) go/parser
2043 .PHONY: go/parser/check
2045 go/libprinter.a: $(go_go_printer_files) bytes.gox fmt.gox go/ast.gox \
2046 go/token.gox io.gox os.gox reflect.gox runtime.gox \
2047 strings.gox tabwriter.gox
2049 go/libprinter.la: go/libprinter.a
2050 go/printer/check: $(CHECK_DEPS)
2051 @$(MKDIR_P) go/printer
2053 .PHONY: go/printer/check
2055 go/libscanner.a: $(go_go_scanner_files) bytes.gox container/vector.gox fmt.gox \
2056 go/token.gox io.gox os.gox sort.gox strconv.gox unicode.gox \
2059 go/libscanner.la: go/libscanner.a
2060 go/scanner/check: $(CHECK_DEPS)
2061 @$(MKDIR_P) go/scanner
2063 .PHONY: go/scanner/check
2065 go/libtoken.a: $(go_go_token_files) fmt.gox strconv.gox
2067 go/libtoken.la: go/libtoken.a
2068 go/token/check: $(CHECK_DEPS)
2069 @$(MKDIR_P) go/token
2071 .PHONY: go/token/check
2073 go/libtypechecker.a: $(go_go_typechecker_files) fmt.gox go/ast.gox \
2074 go/token.gox go/scanner.gox os.gox
2076 go/libtypechecker.la: go/libtypechecker.a
2077 go/typechecker/check: $(CHECK_DEPS)
2078 @$(MKDIR_P) go/typechecker
2080 .PHONY: go/typechecker/check
2082 hash/libadler32.a: $(go_hash_adler32_files) hash.gox os.gox
2084 hash/libadler32.la: hash/libadler32.a
2085 hash/adler32/check: $(CHECK_DEPS)
2086 @$(MKDIR_P) hash/adler32
2088 .PHONY: hash/adler32/check
2090 hash/libcrc32.a: $(go_hash_crc32_files) hash.gox os.gox
2092 hash/libcrc32.la: hash/libcrc32.a
2093 hash/crc32/check: $(CHECK_DEPS)
2094 @$(MKDIR_P) hash/crc32
2096 .PHONY: hash/crc32/check
2098 hash/libcrc64.a: $(go_hash_crc64_files) hash.gox os.gox
2100 hash/libcrc64.la: hash/libcrc64.a
2101 hash/crc64/check: $(CHECK_DEPS)
2102 @$(MKDIR_P) hash/crc64
2104 .PHONY: hash/crc64/check
2106 http/libpprof.a: $(go_http_pprof_files) bufio.gox fmt.gox http.gox os.gox \
2107 runtime.gox runtime/pprof.gox strconv.gox strings.gox
2109 http/libpprof.la: http/libpprof.a
2110 http/pprof/check: $(CHECK_DEPS)
2111 @$(MKDIR_P) http/pprof
2113 .PHONY: http/pprof/check
2115 image/libjpeg.a: $(go_image_jpeg_files) bufio.gox image.gox io.gox os.gox
2117 image/libjpeg.la: image/libjpeg.a
2118 image/jpeg/check: $(CHECK_DEPS)
2119 @$(MKDIR_P) image/jpeg
2121 .PHONY: image/jpeg/check
2123 image/libpng.a: $(go_image_png_files) bufio.gox compress/zlib.gox fmt.gox \
2124 hash.gox hash/crc32.gox image.gox io.gox os.gox strconv.gox
2126 image/libpng.la: image/libpng.a
2127 image/png/check: $(CHECK_DEPS)
2128 @$(MKDIR_P) image/png
2130 .PHONY: image/png/check
2132 index/libsuffixarray.a: $(go_index_suffixarray_files) bytes.gox \
2133 container/vector.gox sort.gox
2135 index/libsuffixarray.la: index/libsuffixarray.a
2136 index/suffixarray/check: $(CHECK_DEPS)
2137 @$(MKDIR_P) index/suffixarray
2139 .PHONY: index/suffixarray/check
2141 io/libioutil.a: $(go_io_ioutil_files) bytes.gox io.gox os.gox sort.gox \
2144 io/libioutil.la: io/libioutil.a
2145 io/ioutil/check: $(CHECK_DEPS)
2146 @$(MKDIR_P) io/ioutil
2148 .PHONY: io/ioutil/check
2150 mime/libmultipart.a: $(go_mime_multipart_files) bufio.gox bytes.gox io.gox \
2151 mime.gox os.gox regexp.gox strings.gox
2153 mime/libmultipart.la: mime/libmultipart.a
2154 mime/multipart/check: $(CHECK_DEPS)
2155 @$(MKDIR_P) mime/multipart
2157 .PHONY: mime/multipart/check
2159 net/libdict.a: $(go_net_dict_files) container/vector.gox net/textproto.gox \
2160 os.gox strconv.gox strings.gox
2162 net/libdict.la: net/libdict.a
2164 net/libtextproto.a: $(go_net_textproto_files) bufio.gox bytes.gox \
2165 container/vector.gox fmt.gox io.gox io/ioutil.gox net.gox \
2166 os.gox strconv.gox sync.gox
2168 net/libtextproto.la: net/libtextproto.a
2169 net/textproto/check: $(CHECK_DEPS)
2170 @$(MKDIR_P) net/textproto
2172 .PHONY: net/textproto/check
2174 os/libsignal.a: $(go_os_signal_files) runtime.gox strconv.gox
2176 os/libsignal.la: os/libsignal.a
2177 os/signal/check: $(CHECK_DEPS)
2178 @$(MKDIR_P) os/signal
2180 .PHONY: os/signal/check
2182 unix.go: $(srcdir)/go/os/signal/mkunix.sh sysinfo.go
2183 $(SHELL) $(srcdir)/go/os/signal/mkunix.sh sysinfo.go > $@.tmp
2186 rpc/libjsonrpc.a: $(go_rpc_jsonrpc_files) fmt.gox io.gox json.gox net.gox \
2187 os.gox rpc.gox sync.gox
2189 rpc/libjsonrpc.la: rpc/libjsonrpc.a
2190 rpc/jsonrpc/check: $(CHECK_DEPS)
2191 @$(MKDIR_P) rpc/jsonrpc
2193 .PHONY: rpc/jsonrpc/check
2195 runtime/libpprof.a: $(go_runtime_pprof_files) bufio.gox fmt.gox io.gox os.gox \
2198 runtime/libpprof.la: runtime/libpprof.a
2199 runtime/pprof/check: $(CHECK_DEPS)
2200 @$(MKDIR_P) runtime/pprof
2202 .PHONY: runtime/pprof/check
2204 testing/libiotest.a: $(go_testing_iotest_files) io.gox log.gox os.gox
2206 testing/libiotest.la: testing/libiotest.a
2207 testing/iotest/check: $(CHECK_DEPS)
2208 @$(MKDIR_P) testing/iotest
2210 .PHONY: testing/iotest/check
2212 testing/libquick.a: $(go_testing_quick_files) flag.gox fmt.gox math.gox \
2213 os.gox rand.gox reflect.gox strings.gox
2215 testing/libquick.la: testing/libquick.a
2216 testing/quick/check: $(CHECK_DEPS)
2217 @$(MKDIR_P) testing/quick
2219 .PHONY: testing/quick/check
2221 testing/libscript.a: $(go_testing_script_files) fmt.gox os.gox rand.gox \
2222 reflect.gox strings.gox
2224 testing/libscript.la: testing/libscript.a
2225 testing/script/check: $(CHECK_DEPS)
2226 @$(MKDIR_P) testing/script
2228 .PHONY: testing/script/check
2230 sysinfo.go: $(srcdir)/mksysinfo.sh config.h
2231 $(SHELL) $(srcdir)/mksysinfo.sh
2232 syscalls/libsyscall.a: $(go_syscall_files) $(go_syscall_c_files) sync.gox
2233 rm -f syscall.gox syscalls/libsyscall.a
2234 test -d syscalls || $(MKDIR_P) syscalls
2235 files=`echo $^ | sed -e 's/[^ ]*\.gox//g' -e's/[^ ]*\.c//g'`; \
2236 $(LTGOCOMPILE) -c -fgo-prefix="libgo_syscalls" -o syscalls/syscall.$(OBJEXT) $$files
2237 $(LTCOMPILE) -c -o syscalls/errno.$(OBJEXT) $(srcdir)/syscalls/errno.c
2238 $(AR) rc syscalls/libsyscall.a syscalls/syscall.$(OBJEXT) syscalls/errno.$(OBJEXT)
2239 syscalls/libsyscall.la: syscalls/libsyscall.a
2240 $(LINK) syscalls/syscall.lo syscalls/errno.lo
2242 # How to build a .gox file from a .a file.
2245 rm -f $@.$(OBJEXT); \
2246 $(CC) -r -nostdlib -o $@.$(OBJEXT) -Wl,--whole-archive $<; \
2247 $(OBJCOPY) -j .go_export $@.$(OBJEXT) $@.tmp; \
2251 asn1.gox: asn1/libasn1.a
2253 big.gox: big/libbig.a
2255 bufio.gox: bufio/libbufio.a
2257 bytes.gox: bytes/libbytes.a
2259 cmath.gox: cmath/libcmath.a
2261 ebnf.gox: ebnf/libebnf.a
2263 exec.gox: exec/libexec.a
2265 expvar.gox: expvar/libexpvar.a
2267 flag.gox: flag/libflag.a
2269 fmt.gox: fmt/libfmt.a
2271 gob.gox: gob/libgob.a
2273 hash.gox: hash/libhash.a
2275 html.gox: html/libhtml.a
2277 http.gox: http/libhttp.a
2279 image.gox: image/libimage.a
2283 json.gox: json/libjson.a
2285 log.gox: log/liblog.a
2287 math.gox: math/libmath.a
2289 mime.gox: mime/libmime.a
2291 net.gox: net/libnet.a
2293 netchan.gox: netchan/libnetchan.a
2297 patch.gox: patch/libpatch.a
2299 path.gox: path/libpath.a
2301 rand.gox: rand/librand.a
2303 reflect.gox: reflect/libreflect.a
2305 regexp.gox: regexp/libregexp.a
2307 rpc.gox: rpc/librpc.a
2309 runtime.gox: runtime/libruntime.a
2311 scanner.gox: scanner/libscanner.a
2313 smtp.gox: smtp/libsmtp.a
2315 sort.gox: sort/libsort.a
2317 strconv.gox: strconv/libstrconv.a
2319 strings.gox: strings/libstrings.a
2321 sync.gox: sync/libsync.a
2323 syslog.gox: syslog/libsyslog.a
2325 syscall.gox: syscalls/libsyscall.a
2327 tabwriter.gox: tabwriter/libtabwriter.a
2329 template.gox: template/libtemplate.a
2331 testing.gox: testing/libtesting.a
2333 time.gox: time/libtime.a
2335 try.gox: try/libtry.a
2337 unicode.gox: unicode/libunicode.a
2339 utf16.gox: utf16/libutf16.a
2341 utf8.gox: utf8/libutf8.a
2343 websocket.gox: websocket/libwebsocket.a
2345 xml.gox: xml/libxml.a
2348 archive/tar.gox: archive/libtar.a
2350 archive/zip.gox: archive/libzip.a
2353 compress/flate.gox: compress/libflate.a
2355 compress/gzip.gox: compress/libgzip.a
2357 compress/zlib.gox: compress/libzlib.a
2360 container/heap.gox: container/libheap.a
2362 container/list.gox: container/liblist.a
2364 container/ring.gox: container/libring.a
2366 container/vector.gox: container/libvector.a
2369 crypto/aes.gox: crypto/libaes.a
2371 crypto/block.gox: crypto/libblock.a
2373 crypto/blowfish.gox: crypto/libblowfish.a
2375 crypto/cast5.gox: crypto/libcast5.a
2377 crypto/hmac.gox: crypto/libhmac.a
2379 crypto/md4.gox: crypto/libmd4.a
2381 crypto/md5.gox: crypto/libmd5.a
2383 crypto/ocsp.gox: crypto/libocsp.a
2385 crypto/rand.gox: crypto/librand.a
2387 crypto/rc4.gox: crypto/librc4.a
2389 crypto/ripemd160.gox: crypto/libripemd160.a
2391 crypto/rsa.gox: crypto/librsa.a
2393 crypto/sha1.gox: crypto/libsha1.a
2395 crypto/sha256.gox: crypto/libsha256.a
2397 crypto/sha512.gox: crypto/libsha512.a
2399 crypto/subtle.gox: crypto/libsubtle.a
2401 crypto/tls.gox: crypto/libtls.a
2403 crypto/x509.gox: crypto/libx509.a
2405 crypto/xtea.gox: crypto/libxtea.a
2408 debug/dwarf.gox: debug/libdwarf.a
2410 debug/elf.gox: debug/libelf.a
2412 debug/gosym.gox: debug/libgosym.a
2414 debug/macho.gox: debug/libmacho.a
2416 debug/pe.gox: debug/libpe.a
2418 debug/proc.gox: debug/libproc.a
2421 encoding/ascii85.gox: encoding/libascii85.a
2423 encoding/base64.gox: encoding/libbase64.a
2425 encoding/binary.gox: encoding/libbinary.a
2427 encoding/git85.gox: encoding/libgit85.a
2429 encoding/hex.gox: encoding/libhex.a
2431 encoding/pem.gox: encoding/libpem.a
2434 exp/datafmt.gox: exp/libdatafmt.a
2436 exp/draw.gox: exp/libdraw.a
2438 exp/eval.gox: exp/libeval.a
2441 go/ast.gox: go/libast.a
2443 go/doc.gox: go/libdoc.a
2445 go/parser.gox: go/libparser.a
2447 go/printer.gox: go/libprinter.a
2449 go/scanner.gox: go/libscanner.a
2451 go/token.gox: go/libtoken.a
2453 go/typechecker.gox: go/libtypechecker.a
2456 hash/adler32.gox: hash/libadler32.a
2458 hash/crc32.gox: hash/libcrc32.a
2460 hash/crc64.gox: hash/libcrc64.a
2463 http/pprof.gox: http/libpprof.a
2466 image/jpeg.gox: image/libjpeg.a
2468 image/png.gox: image/libpng.a
2471 index/suffixarray.gox: index/libsuffixarray.a
2474 io/ioutil.gox: io/libioutil.a
2477 mime/multipart.gox: mime/libmultipart.a
2480 net/dict.gox: net/libdict.a
2482 net/textproto.gox: net/libtextproto.a
2485 os/signal.gox: os/libsignal.a
2488 rpc/jsonrpc.gox: rpc/libjsonrpc.a
2491 runtime/pprof.gox: runtime/libpprof.a
2494 testing/iotest.gox: testing/libiotest.a
2496 testing/quick.gox: testing/libquick.a
2498 testing/script.gox: testing/libscript.a
2548 compress/flate/check \
2549 compress/gzip/check \
2550 compress/zlib/check \
2551 container/heap/check \
2552 container/list/check \
2553 container/ring/check \
2554 container/vector/check \
2556 crypto/block/check \
2557 crypto/blowfish/check \
2558 crypto/cast5/check \
2565 crypto/ripemd160/check \
2568 crypto/sha256/check \
2569 crypto/sha512/check \
2570 crypto/subtle/check \
2578 encoding/ascii85/check \
2579 encoding/base64/check \
2580 encoding/binary/check \
2581 encoding/git85/check \
2582 encoding/hex/check \
2583 encoding/pem/check \
2590 go/typechecker/check \
2591 hash/adler32/check \
2595 index/suffixarray/check \
2597 mime/multipart/check \
2598 net/textproto/check \
2601 testing/quick/check \
2602 testing/script/check
2604 check-recursive: $(TEST_PACKAGES)
2607 find . -name '*.lo' -print | xargs $(LIBTOOL) --mode=clean rm -f
2608 find . -name '*.$(OBJEXT)' -print | xargs rm -f
2611 find . -name '*.la' -print | xargs $(LIBTOOL) --mode=clean rm -f
2612 find . -name '*.a' -print | xargs rm -f
2614 CLEANFILES = *.go *.gox goc2c *.c s-version