hare

[hare] The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

stdlib.mk (223473B)


      1 # This file is generated by the gen-stdlib script, do not edit it by hand
      2 
      3 rtscript = $(STDLIB)/rt/hare.sc
      4 # rt (+linux)
      5 stdlib_rt_linux_srcs = \
      6 	$(STDLIB)/rt/+linux/platform_abort.ha \
      7 	$(STDLIB)/rt/+linux/env.ha \
      8 	$(STDLIB)/rt/+linux/errno.ha \
      9 	$(STDLIB)/rt/+linux/types.ha \
     10 	$(STDLIB)/rt/+linux/segmalloc.ha \
     11 	$(STDLIB)/rt/+linux/platformstart-libc.ha \
     12 	$(STDLIB)/rt/+linux/prctl.ha \
     13 	$(STDLIB)/rt/+linux/+$(ARCH).ha \
     14 	$(STDLIB)/rt/+linux/syscallno+$(ARCH).ha \
     15 	$(STDLIB)/rt/+linux/syscalls.ha \
     16 	$(STDLIB)/rt/+linux/syscallsarch+$(ARCH).ha \
     17 	$(STDLIB)/rt/+linux/signal.ha \
     18 	$(STDLIB)/rt/+linux/stat.ha \
     19 	$(STDLIB)/rt/+linux/socket.ha \
     20 	$(STDLIB)/rt/+$(ARCH)/arch_jmp.ha \
     21 	$(STDLIB)/rt/+$(ARCH)/backtrace.ha \
     22 	$(STDLIB)/rt/fenv_defs.ha \
     23 	$(STDLIB)/rt/+$(ARCH)/cpuid.ha \
     24 	$(STDLIB)/rt/ensure.ha \
     25 	$(STDLIB)/rt/jmp.ha \
     26 	$(STDLIB)/rt/malloc.ha \
     27 	$(STDLIB)/rt/memcpy.ha \
     28 	$(STDLIB)/rt/memmove.ha \
     29 	$(STDLIB)/rt/memset.ha \
     30 	$(STDLIB)/rt/strcmp.ha \
     31 	$(STDLIB)/rt/abort.ha \
     32 	$(STDLIB)/rt/start.ha
     33 
     34 # rt (+freebsd)
     35 stdlib_rt_freebsd_srcs = \
     36 	$(STDLIB)/rt/+freebsd/platform_abort.ha \
     37 	$(STDLIB)/rt/+freebsd/env.ha \
     38 	$(STDLIB)/rt/+freebsd/errno.ha \
     39 	$(STDLIB)/rt/+freebsd/platformstart.ha \
     40 	$(STDLIB)/rt/+freebsd/segmalloc.ha \
     41 	$(STDLIB)/rt/+freebsd/signal.ha \
     42 	$(STDLIB)/rt/+freebsd/socket.ha \
     43 	$(STDLIB)/rt/+freebsd/+$(ARCH).ha \
     44 	$(STDLIB)/rt/+freebsd/syscallno.ha \
     45 	$(STDLIB)/rt/+freebsd/syscalls.ha \
     46 	$(STDLIB)/rt/+freebsd/types.ha \
     47 	$(STDLIB)/rt/+$(ARCH)/arch_jmp.ha \
     48 	$(STDLIB)/rt/+$(ARCH)/backtrace.ha \
     49 	$(STDLIB)/rt/fenv_defs.ha \
     50 	$(STDLIB)/rt/+$(ARCH)/cpuid.ha \
     51 	$(STDLIB)/rt/ensure.ha \
     52 	$(STDLIB)/rt/jmp.ha \
     53 	$(STDLIB)/rt/malloc.ha \
     54 	$(STDLIB)/rt/memcpy.ha \
     55 	$(STDLIB)/rt/memmove.ha \
     56 	$(STDLIB)/rt/memset.ha \
     57 	$(STDLIB)/rt/strcmp.ha \
     58 	$(STDLIB)/rt/abort.ha \
     59 	$(STDLIB)/rt/start.ha
     60 
     61 $(HARECACHE)/rt/rt-linux.ssa: $(stdlib_rt_linux_srcs) $(stdlib_rt)
     62 	@printf 'HAREC \t$@\n'
     63 	@mkdir -p $(HARECACHE)/rt
     64 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nrt \
     65 		-t$(HARECACHE)/rt/rt.td $(stdlib_rt_linux_srcs)
     66 
     67 $(HARECACHE)/rt/rt-freebsd.ssa: $(stdlib_rt_freebsd_srcs) $(stdlib_rt)
     68 	@printf 'HAREC \t$@\n'
     69 	@mkdir -p $(HARECACHE)/rt
     70 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nrt \
     71 		-t$(HARECACHE)/rt/rt.td $(stdlib_rt_freebsd_srcs)
     72 
     73 $(HARECACHE)/rt/start.o: $(STDLIB)/rt/+$(PLATFORM)/start+$(ARCH)-libc.s
     74 	@printf 'AS \t%s\n' "$@"
     75 	@mkdir -p $(HARECACHE)/rt
     76 	@$(AS) -o $@ $(STDLIB)/rt/+$(PLATFORM)/start+$(ARCH)-libc.s
     77 
     78 stdlib_asm = $(HARECACHE)/rt/syscall.o \
     79 	$(HARECACHE)/rt/setjmp.o \
     80 	$(HARECACHE)/rt/longjmp.o \
     81 	$(HARECACHE)/rt/restore.o \
     82 	$(HARECACHE)/rt/getfp.o \
     83 	$(HARECACHE)/rt/fenv.o \
     84 	$(HARECACHE)/rt/start.o \
     85 	$(HARECACHE)/rt/cpuid_native.o
     86 
     87 $(HARECACHE)/rt/syscall.o: $(STDLIB)/rt/+$(PLATFORM)/syscall+$(ARCH).s
     88 	@printf 'AS \t%s\n' "$@"
     89 	@mkdir -p $(HARECACHE)/rt
     90 	@$(AS) -o $@ $(STDLIB)/rt/+$(PLATFORM)/syscall+$(ARCH).s
     91 
     92 $(HARECACHE)/rt/setjmp.o: $(STDLIB)/rt/+$(ARCH)/setjmp.s
     93 	@printf 'AS \t%s\n' "$@"
     94 	@mkdir -p $(HARECACHE)/rt
     95 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/setjmp.s
     96 
     97 $(HARECACHE)/rt/longjmp.o: $(STDLIB)/rt/+$(ARCH)/longjmp.s
     98 	@printf 'AS \t%s\n' "$@"
     99 	@mkdir -p $(HARECACHE)/rt
    100 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/longjmp.s
    101 
    102 $(HARECACHE)/rt/restore.o: $(STDLIB)/rt/+$(ARCH)/restore.s
    103 	@printf 'AS \t%s\n' "$@"
    104 	@mkdir -p $(HARECACHE)/rt
    105 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/restore.s
    106 
    107 $(HARECACHE)/rt/fenv.o: $(STDLIB)/rt/+$(ARCH)/fenv.s
    108 	@printf 'AS \t%s\n' "$@"
    109 	@mkdir -p $(HARECACHE)/rt
    110 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/fenv.s
    111 
    112 $(HARECACHE)/rt/getfp.o: $(STDLIB)/rt/+$(ARCH)/getfp.s
    113 	@printf 'AS \t%s\n' "$@"
    114 	@mkdir -p $(HARECACHE)/rt
    115 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/getfp.s
    116 
    117 $(HARECACHE)/rt/cpuid_native.o: $(STDLIB)/rt/+$(ARCH)/cpuid_native.s
    118 	@printf 'AS \t%s\n' "$@"
    119 	@mkdir -p $(HARECACHE)/rt
    120 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/cpuid_native.s
    121 
    122 $(HARECACHE)/rt/rt-linux.a: $(HARECACHE)/rt/rt-linux.o $(stdlib_asm)
    123 	@printf 'AR \t%s\n' "$@"
    124 	@$(AR) -csr $@ $(HARECACHE)/rt/rt-linux.o $(stdlib_asm)
    125 
    126 $(HARECACHE)/rt/rt-freebsd.a: $(HARECACHE)/rt/rt-freebsd.o $(stdlib_asm)
    127 	@printf 'AR \t%s\n' "$@"
    128 	@$(AR) -csr $@ $(HARECACHE)/rt/rt-freebsd.o $(stdlib_asm)
    129 
    130 stdlib_rt = $(HARECACHE)/rt/rt-$(PLATFORM).a
    131 stdlib_env += HARE_TD_rt=$(HARECACHE)/rt/rt.td
    132 stdlib_deps_linux += $(stdlib_rt)
    133 stdlib_deps_freebsd += $(stdlib_rt)
    134 stdlib_deps_any += $(stdlib_rt)
    135 
    136 # gen_lib ascii (any)
    137 stdlib_ascii_any = $(HARECACHE)/ascii/ascii-any.o
    138 stdlib_env += HARE_TD_ascii=$(HARECACHE)/ascii/ascii.td
    139 stdlib_deps_any += $(stdlib_ascii_any)
    140 stdlib_ascii_linux = $(stdlib_ascii_any)
    141 stdlib_ascii_freebsd = $(stdlib_ascii_any)
    142 
    143 # gen_lib bufio (any)
    144 stdlib_bufio_any = $(HARECACHE)/bufio/bufio-any.o
    145 stdlib_env += HARE_TD_bufio=$(HARECACHE)/bufio/bufio.td
    146 stdlib_deps_any += $(stdlib_bufio_any)
    147 stdlib_bufio_linux = $(stdlib_bufio_any)
    148 stdlib_bufio_freebsd = $(stdlib_bufio_any)
    149 
    150 # gen_lib bytes (any)
    151 stdlib_bytes_any = $(HARECACHE)/bytes/bytes-any.o
    152 stdlib_env += HARE_TD_bytes=$(HARECACHE)/bytes/bytes.td
    153 stdlib_deps_any += $(stdlib_bytes_any)
    154 stdlib_bytes_linux = $(stdlib_bytes_any)
    155 stdlib_bytes_freebsd = $(stdlib_bytes_any)
    156 
    157 # gen_lib crypto (any)
    158 stdlib_crypto_any = $(HARECACHE)/crypto/crypto-any.o
    159 stdlib_env += HARE_TD_crypto=$(HARECACHE)/crypto/crypto.td
    160 stdlib_deps_any += $(stdlib_crypto_any)
    161 stdlib_crypto_linux = $(stdlib_crypto_any)
    162 stdlib_crypto_freebsd = $(stdlib_crypto_any)
    163 
    164 # gen_lib crypto::aes (any)
    165 stdlib_crypto_aes_any = $(HARECACHE)/crypto/aes/crypto_aes-any.o
    166 stdlib_env += HARE_TD_crypto::aes=$(HARECACHE)/crypto/aes/crypto_aes.td
    167 stdlib_deps_any += $(stdlib_crypto_aes_any)
    168 stdlib_crypto_aes_linux = $(stdlib_crypto_aes_any)
    169 stdlib_crypto_aes_freebsd = $(stdlib_crypto_aes_any)
    170 
    171 # gen_lib crypto::aes::xts (any)
    172 stdlib_crypto_aes_xts_any = $(HARECACHE)/crypto/aes/xts/crypto_aes_xts-any.o
    173 stdlib_env += HARE_TD_crypto::aes::xts=$(HARECACHE)/crypto/aes/xts/crypto_aes_xts.td
    174 stdlib_deps_any += $(stdlib_crypto_aes_xts_any)
    175 stdlib_crypto_aes_xts_linux = $(stdlib_crypto_aes_xts_any)
    176 stdlib_crypto_aes_xts_freebsd = $(stdlib_crypto_aes_xts_any)
    177 
    178 # gen_lib crypto::argon2 (any)
    179 stdlib_crypto_argon2_any = $(HARECACHE)/crypto/argon2/crypto_argon2-any.o
    180 stdlib_env += HARE_TD_crypto::argon2=$(HARECACHE)/crypto/argon2/crypto_argon2.td
    181 stdlib_deps_any += $(stdlib_crypto_argon2_any)
    182 stdlib_crypto_argon2_linux = $(stdlib_crypto_argon2_any)
    183 stdlib_crypto_argon2_freebsd = $(stdlib_crypto_argon2_any)
    184 
    185 # gen_lib crypto::bcrypt (any)
    186 stdlib_crypto_bcrypt_any = $(HARECACHE)/crypto/bcrypt/crypto_bcrypt-any.o
    187 stdlib_env += HARE_TD_crypto::bcrypt=$(HARECACHE)/crypto/bcrypt/crypto_bcrypt.td
    188 stdlib_deps_any += $(stdlib_crypto_bcrypt_any)
    189 stdlib_crypto_bcrypt_linux = $(stdlib_crypto_bcrypt_any)
    190 stdlib_crypto_bcrypt_freebsd = $(stdlib_crypto_bcrypt_any)
    191 
    192 # gen_lib crypto::blake2b (any)
    193 stdlib_crypto_blake2b_any = $(HARECACHE)/crypto/blake2b/crypto_blake2b-any.o
    194 stdlib_env += HARE_TD_crypto::blake2b=$(HARECACHE)/crypto/blake2b/crypto_blake2b.td
    195 stdlib_deps_any += $(stdlib_crypto_blake2b_any)
    196 stdlib_crypto_blake2b_linux = $(stdlib_crypto_blake2b_any)
    197 stdlib_crypto_blake2b_freebsd = $(stdlib_crypto_blake2b_any)
    198 
    199 # gen_lib crypto::blowfish (any)
    200 stdlib_crypto_blowfish_any = $(HARECACHE)/crypto/blowfish/crypto_blowfish-any.o
    201 stdlib_env += HARE_TD_crypto::blowfish=$(HARECACHE)/crypto/blowfish/crypto_blowfish.td
    202 stdlib_deps_any += $(stdlib_crypto_blowfish_any)
    203 stdlib_crypto_blowfish_linux = $(stdlib_crypto_blowfish_any)
    204 stdlib_crypto_blowfish_freebsd = $(stdlib_crypto_blowfish_any)
    205 
    206 # gen_lib crypto::bigint (any)
    207 stdlib_crypto_bigint_any = $(HARECACHE)/crypto/bigint/crypto_bigint-any.o
    208 stdlib_env += HARE_TD_crypto::bigint=$(HARECACHE)/crypto/bigint/crypto_bigint.td
    209 stdlib_deps_any += $(stdlib_crypto_bigint_any)
    210 stdlib_crypto_bigint_linux = $(stdlib_crypto_bigint_any)
    211 stdlib_crypto_bigint_freebsd = $(stdlib_crypto_bigint_any)
    212 
    213 # gen_lib crypto::chacha (any)
    214 stdlib_crypto_chacha_any = $(HARECACHE)/crypto/chacha/crypto_chacha-any.o
    215 stdlib_env += HARE_TD_crypto::chacha=$(HARECACHE)/crypto/chacha/crypto_chacha.td
    216 stdlib_deps_any += $(stdlib_crypto_chacha_any)
    217 stdlib_crypto_chacha_linux = $(stdlib_crypto_chacha_any)
    218 stdlib_crypto_chacha_freebsd = $(stdlib_crypto_chacha_any)
    219 
    220 # gen_lib crypto::chachapoly (any)
    221 stdlib_crypto_chachapoly_any = $(HARECACHE)/crypto/chachapoly/crypto_chachapoly-any.o
    222 stdlib_env += HARE_TD_crypto::chachapoly=$(HARECACHE)/crypto/chachapoly/crypto_chachapoly.td
    223 stdlib_deps_any += $(stdlib_crypto_chachapoly_any)
    224 stdlib_crypto_chachapoly_linux = $(stdlib_crypto_chachapoly_any)
    225 stdlib_crypto_chachapoly_freebsd = $(stdlib_crypto_chachapoly_any)
    226 
    227 # gen_lib crypto::cipher (any)
    228 stdlib_crypto_cipher_any = $(HARECACHE)/crypto/cipher/crypto_cipher-any.o
    229 stdlib_env += HARE_TD_crypto::cipher=$(HARECACHE)/crypto/cipher/crypto_cipher.td
    230 stdlib_deps_any += $(stdlib_crypto_cipher_any)
    231 stdlib_crypto_cipher_linux = $(stdlib_crypto_cipher_any)
    232 stdlib_crypto_cipher_freebsd = $(stdlib_crypto_cipher_any)
    233 
    234 # gen_lib crypto::hkdf (any)
    235 stdlib_crypto_hkdf_any = $(HARECACHE)/crypto/hkdf/crypto_hkdf-any.o
    236 stdlib_env += HARE_TD_crypto::hkdf=$(HARECACHE)/crypto/hkdf/crypto_hkdf.td
    237 stdlib_deps_any += $(stdlib_crypto_hkdf_any)
    238 stdlib_crypto_hkdf_linux = $(stdlib_crypto_hkdf_any)
    239 stdlib_crypto_hkdf_freebsd = $(stdlib_crypto_hkdf_any)
    240 
    241 # gen_lib crypto::hmac (any)
    242 stdlib_crypto_hmac_any = $(HARECACHE)/crypto/hmac/crypto_hmac-any.o
    243 stdlib_env += HARE_TD_crypto::hmac=$(HARECACHE)/crypto/hmac/crypto_hmac.td
    244 stdlib_deps_any += $(stdlib_crypto_hmac_any)
    245 stdlib_crypto_hmac_linux = $(stdlib_crypto_hmac_any)
    246 stdlib_crypto_hmac_freebsd = $(stdlib_crypto_hmac_any)
    247 
    248 # gen_lib crypto::mac (any)
    249 stdlib_crypto_mac_any = $(HARECACHE)/crypto/mac/crypto_mac-any.o
    250 stdlib_env += HARE_TD_crypto::mac=$(HARECACHE)/crypto/mac/crypto_mac.td
    251 stdlib_deps_any += $(stdlib_crypto_mac_any)
    252 stdlib_crypto_mac_linux = $(stdlib_crypto_mac_any)
    253 stdlib_crypto_mac_freebsd = $(stdlib_crypto_mac_any)
    254 
    255 # gen_lib crypto::math (any)
    256 stdlib_crypto_math_any = $(HARECACHE)/crypto/math/crypto_math-any.o
    257 stdlib_env += HARE_TD_crypto::math=$(HARECACHE)/crypto/math/crypto_math.td
    258 stdlib_deps_any += $(stdlib_crypto_math_any)
    259 stdlib_crypto_math_linux = $(stdlib_crypto_math_any)
    260 stdlib_crypto_math_freebsd = $(stdlib_crypto_math_any)
    261 
    262 # gen_lib crypto::random (linux)
    263 stdlib_crypto_random_linux = $(HARECACHE)/crypto/random/crypto_random-linux.o
    264 stdlib_env += HARE_TD_crypto::random=$(HARECACHE)/crypto/random/crypto_random.td
    265 stdlib_deps_linux += $(stdlib_crypto_random_linux)
    266 
    267 # gen_lib crypto::random (freebsd)
    268 stdlib_crypto_random_freebsd = $(HARECACHE)/crypto/random/crypto_random-freebsd.o
    269 stdlib_env += HARE_TD_crypto::random=$(HARECACHE)/crypto/random/crypto_random.td
    270 stdlib_deps_freebsd += $(stdlib_crypto_random_freebsd)
    271 
    272 # gen_lib crypto::rsa (any)
    273 stdlib_crypto_rsa_any = $(HARECACHE)/crypto/rsa/crypto_rsa-any.o
    274 stdlib_env += HARE_TD_crypto::rsa=$(HARECACHE)/crypto/rsa/crypto_rsa.td
    275 stdlib_deps_any += $(stdlib_crypto_rsa_any)
    276 stdlib_crypto_rsa_linux = $(stdlib_crypto_rsa_any)
    277 stdlib_crypto_rsa_freebsd = $(stdlib_crypto_rsa_any)
    278 
    279 # gen_lib crypto::poly1305 (any)
    280 stdlib_crypto_poly1305_any = $(HARECACHE)/crypto/poly1305/crypto_poly1305-any.o
    281 stdlib_env += HARE_TD_crypto::poly1305=$(HARECACHE)/crypto/poly1305/crypto_poly1305.td
    282 stdlib_deps_any += $(stdlib_crypto_poly1305_any)
    283 stdlib_crypto_poly1305_linux = $(stdlib_crypto_poly1305_any)
    284 stdlib_crypto_poly1305_freebsd = $(stdlib_crypto_poly1305_any)
    285 
    286 # gen_lib crypto::salsa (any)
    287 stdlib_crypto_salsa_any = $(HARECACHE)/crypto/salsa/crypto_salsa-any.o
    288 stdlib_env += HARE_TD_crypto::salsa=$(HARECACHE)/crypto/salsa/crypto_salsa.td
    289 stdlib_deps_any += $(stdlib_crypto_salsa_any)
    290 stdlib_crypto_salsa_linux = $(stdlib_crypto_salsa_any)
    291 stdlib_crypto_salsa_freebsd = $(stdlib_crypto_salsa_any)
    292 
    293 # gen_lib crypto::sha1 (any)
    294 stdlib_crypto_sha1_any = $(HARECACHE)/crypto/sha1/crypto_sha1-any.o
    295 stdlib_env += HARE_TD_crypto::sha1=$(HARECACHE)/crypto/sha1/crypto_sha1.td
    296 stdlib_deps_any += $(stdlib_crypto_sha1_any)
    297 stdlib_crypto_sha1_linux = $(stdlib_crypto_sha1_any)
    298 stdlib_crypto_sha1_freebsd = $(stdlib_crypto_sha1_any)
    299 
    300 # gen_lib crypto::sha256 (any)
    301 stdlib_crypto_sha256_any = $(HARECACHE)/crypto/sha256/crypto_sha256-any.o
    302 stdlib_env += HARE_TD_crypto::sha256=$(HARECACHE)/crypto/sha256/crypto_sha256.td
    303 stdlib_deps_any += $(stdlib_crypto_sha256_any)
    304 stdlib_crypto_sha256_linux = $(stdlib_crypto_sha256_any)
    305 stdlib_crypto_sha256_freebsd = $(stdlib_crypto_sha256_any)
    306 
    307 # gen_lib crypto::sha512 (any)
    308 stdlib_crypto_sha512_any = $(HARECACHE)/crypto/sha512/crypto_sha512-any.o
    309 stdlib_env += HARE_TD_crypto::sha512=$(HARECACHE)/crypto/sha512/crypto_sha512.td
    310 stdlib_deps_any += $(stdlib_crypto_sha512_any)
    311 stdlib_crypto_sha512_linux = $(stdlib_crypto_sha512_any)
    312 stdlib_crypto_sha512_freebsd = $(stdlib_crypto_sha512_any)
    313 
    314 # gen_lib crypto::curve25519 (any)
    315 stdlib_crypto_curve25519_any = $(HARECACHE)/crypto/curve25519/crypto_curve25519-any.o
    316 stdlib_env += HARE_TD_crypto::curve25519=$(HARECACHE)/crypto/curve25519/crypto_curve25519.td
    317 stdlib_deps_any += $(stdlib_crypto_curve25519_any)
    318 stdlib_crypto_curve25519_linux = $(stdlib_crypto_curve25519_any)
    319 stdlib_crypto_curve25519_freebsd = $(stdlib_crypto_curve25519_any)
    320 
    321 # gen_lib crypto::ed25519 (any)
    322 stdlib_crypto_ed25519_any = $(HARECACHE)/crypto/ed25519/crypto_ed25519-any.o
    323 stdlib_env += HARE_TD_crypto::ed25519=$(HARECACHE)/crypto/ed25519/crypto_ed25519.td
    324 stdlib_deps_any += $(stdlib_crypto_ed25519_any)
    325 stdlib_crypto_ed25519_linux = $(stdlib_crypto_ed25519_any)
    326 stdlib_crypto_ed25519_freebsd = $(stdlib_crypto_ed25519_any)
    327 
    328 # gen_lib crypto::x25519 (any)
    329 stdlib_crypto_x25519_any = $(HARECACHE)/crypto/x25519/crypto_x25519-any.o
    330 stdlib_env += HARE_TD_crypto::x25519=$(HARECACHE)/crypto/x25519/crypto_x25519.td
    331 stdlib_deps_any += $(stdlib_crypto_x25519_any)
    332 stdlib_crypto_x25519_linux = $(stdlib_crypto_x25519_any)
    333 stdlib_crypto_x25519_freebsd = $(stdlib_crypto_x25519_any)
    334 
    335 # gen_lib dirs (any)
    336 stdlib_dirs_any = $(HARECACHE)/dirs/dirs-any.o
    337 stdlib_env += HARE_TD_dirs=$(HARECACHE)/dirs/dirs.td
    338 stdlib_deps_any += $(stdlib_dirs_any)
    339 stdlib_dirs_linux = $(stdlib_dirs_any)
    340 stdlib_dirs_freebsd = $(stdlib_dirs_any)
    341 
    342 # gen_lib encoding::base64 (any)
    343 stdlib_encoding_base64_any = $(HARECACHE)/encoding/base64/encoding_base64-any.o
    344 stdlib_env += HARE_TD_encoding::base64=$(HARECACHE)/encoding/base64/encoding_base64.td
    345 stdlib_deps_any += $(stdlib_encoding_base64_any)
    346 stdlib_encoding_base64_linux = $(stdlib_encoding_base64_any)
    347 stdlib_encoding_base64_freebsd = $(stdlib_encoding_base64_any)
    348 
    349 # gen_lib encoding::base32 (any)
    350 stdlib_encoding_base32_any = $(HARECACHE)/encoding/base32/encoding_base32-any.o
    351 stdlib_env += HARE_TD_encoding::base32=$(HARECACHE)/encoding/base32/encoding_base32.td
    352 stdlib_deps_any += $(stdlib_encoding_base32_any)
    353 stdlib_encoding_base32_linux = $(stdlib_encoding_base32_any)
    354 stdlib_encoding_base32_freebsd = $(stdlib_encoding_base32_any)
    355 
    356 # gen_lib encoding::hex (any)
    357 stdlib_encoding_hex_any = $(HARECACHE)/encoding/hex/encoding_hex-any.o
    358 stdlib_env += HARE_TD_encoding::hex=$(HARECACHE)/encoding/hex/encoding_hex.td
    359 stdlib_deps_any += $(stdlib_encoding_hex_any)
    360 stdlib_encoding_hex_linux = $(stdlib_encoding_hex_any)
    361 stdlib_encoding_hex_freebsd = $(stdlib_encoding_hex_any)
    362 
    363 # gen_lib encoding::pem (any)
    364 stdlib_encoding_pem_any = $(HARECACHE)/encoding/pem/encoding_pem-any.o
    365 stdlib_env += HARE_TD_encoding::pem=$(HARECACHE)/encoding/pem/encoding_pem.td
    366 stdlib_deps_any += $(stdlib_encoding_pem_any)
    367 stdlib_encoding_pem_linux = $(stdlib_encoding_pem_any)
    368 stdlib_encoding_pem_freebsd = $(stdlib_encoding_pem_any)
    369 
    370 # gen_lib encoding::utf8 (any)
    371 stdlib_encoding_utf8_any = $(HARECACHE)/encoding/utf8/encoding_utf8-any.o
    372 stdlib_env += HARE_TD_encoding::utf8=$(HARECACHE)/encoding/utf8/encoding_utf8.td
    373 stdlib_deps_any += $(stdlib_encoding_utf8_any)
    374 stdlib_encoding_utf8_linux = $(stdlib_encoding_utf8_any)
    375 stdlib_encoding_utf8_freebsd = $(stdlib_encoding_utf8_any)
    376 
    377 # gen_lib endian (any)
    378 stdlib_endian_any = $(HARECACHE)/endian/endian-any.o
    379 stdlib_env += HARE_TD_endian=$(HARECACHE)/endian/endian.td
    380 stdlib_deps_any += $(stdlib_endian_any)
    381 stdlib_endian_linux = $(stdlib_endian_any)
    382 stdlib_endian_freebsd = $(stdlib_endian_any)
    383 
    384 # gen_lib errors (any)
    385 stdlib_errors_any = $(HARECACHE)/errors/errors-any.o
    386 stdlib_env += HARE_TD_errors=$(HARECACHE)/errors/errors.td
    387 stdlib_deps_any += $(stdlib_errors_any)
    388 stdlib_errors_linux = $(stdlib_errors_any)
    389 stdlib_errors_freebsd = $(stdlib_errors_any)
    390 
    391 # gen_lib fmt (any)
    392 stdlib_fmt_any = $(HARECACHE)/fmt/fmt-any.o
    393 stdlib_env += HARE_TD_fmt=$(HARECACHE)/fmt/fmt.td
    394 stdlib_deps_any += $(stdlib_fmt_any)
    395 stdlib_fmt_linux = $(stdlib_fmt_any)
    396 stdlib_fmt_freebsd = $(stdlib_fmt_any)
    397 
    398 # gen_lib fnmatch (any)
    399 stdlib_fnmatch_any = $(HARECACHE)/fnmatch/fnmatch-any.o
    400 stdlib_env += HARE_TD_fnmatch=$(HARECACHE)/fnmatch/fnmatch.td
    401 stdlib_deps_any += $(stdlib_fnmatch_any)
    402 stdlib_fnmatch_linux = $(stdlib_fnmatch_any)
    403 stdlib_fnmatch_freebsd = $(stdlib_fnmatch_any)
    404 
    405 # gen_lib format::elf (any)
    406 stdlib_format_elf_any = $(HARECACHE)/format/elf/format_elf-any.o
    407 stdlib_env += HARE_TD_format::elf=$(HARECACHE)/format/elf/format_elf.td
    408 stdlib_deps_any += $(stdlib_format_elf_any)
    409 stdlib_format_elf_linux = $(stdlib_format_elf_any)
    410 stdlib_format_elf_freebsd = $(stdlib_format_elf_any)
    411 
    412 # gen_lib format::ini (any)
    413 stdlib_format_ini_any = $(HARECACHE)/format/ini/format_ini-any.o
    414 stdlib_env += HARE_TD_format::ini=$(HARECACHE)/format/ini/format_ini.td
    415 stdlib_deps_any += $(stdlib_format_ini_any)
    416 stdlib_format_ini_linux = $(stdlib_format_ini_any)
    417 stdlib_format_ini_freebsd = $(stdlib_format_ini_any)
    418 
    419 # gen_lib format::tar (any)
    420 stdlib_format_tar_any = $(HARECACHE)/format/tar/format_tar-any.o
    421 stdlib_env += HARE_TD_format::tar=$(HARECACHE)/format/tar/format_tar.td
    422 stdlib_deps_any += $(stdlib_format_tar_any)
    423 stdlib_format_tar_linux = $(stdlib_format_tar_any)
    424 stdlib_format_tar_freebsd = $(stdlib_format_tar_any)
    425 
    426 # gen_lib fs (any)
    427 stdlib_fs_any = $(HARECACHE)/fs/fs-any.o
    428 stdlib_env += HARE_TD_fs=$(HARECACHE)/fs/fs.td
    429 stdlib_deps_any += $(stdlib_fs_any)
    430 stdlib_fs_linux = $(stdlib_fs_any)
    431 stdlib_fs_freebsd = $(stdlib_fs_any)
    432 
    433 # gen_lib getopt (any)
    434 stdlib_getopt_any = $(HARECACHE)/getopt/getopt-any.o
    435 stdlib_env += HARE_TD_getopt=$(HARECACHE)/getopt/getopt.td
    436 stdlib_deps_any += $(stdlib_getopt_any)
    437 stdlib_getopt_linux = $(stdlib_getopt_any)
    438 stdlib_getopt_freebsd = $(stdlib_getopt_any)
    439 
    440 # gen_lib glob (any)
    441 stdlib_glob_any = $(HARECACHE)/glob/glob-any.o
    442 stdlib_env += HARE_TD_glob=$(HARECACHE)/glob/glob.td
    443 stdlib_deps_any += $(stdlib_glob_any)
    444 stdlib_glob_linux = $(stdlib_glob_any)
    445 stdlib_glob_freebsd = $(stdlib_glob_any)
    446 
    447 # gen_lib hare::ast (any)
    448 stdlib_hare_ast_any = $(HARECACHE)/hare/ast/hare_ast-any.o
    449 stdlib_env += HARE_TD_hare::ast=$(HARECACHE)/hare/ast/hare_ast.td
    450 stdlib_deps_any += $(stdlib_hare_ast_any)
    451 stdlib_hare_ast_linux = $(stdlib_hare_ast_any)
    452 stdlib_hare_ast_freebsd = $(stdlib_hare_ast_any)
    453 
    454 # gen_lib hare::lex (any)
    455 stdlib_hare_lex_any = $(HARECACHE)/hare/lex/hare_lex-any.o
    456 stdlib_env += HARE_TD_hare::lex=$(HARECACHE)/hare/lex/hare_lex.td
    457 stdlib_deps_any += $(stdlib_hare_lex_any)
    458 stdlib_hare_lex_linux = $(stdlib_hare_lex_any)
    459 stdlib_hare_lex_freebsd = $(stdlib_hare_lex_any)
    460 
    461 # gen_lib hare::module (any)
    462 stdlib_hare_module_any = $(HARECACHE)/hare/module/hare_module-any.o
    463 stdlib_env += HARE_TD_hare::module=$(HARECACHE)/hare/module/hare_module.td
    464 stdlib_deps_any += $(stdlib_hare_module_any)
    465 stdlib_hare_module_linux = $(stdlib_hare_module_any)
    466 stdlib_hare_module_freebsd = $(stdlib_hare_module_any)
    467 
    468 # gen_lib hare::parse (any)
    469 stdlib_hare_parse_any = $(HARECACHE)/hare/parse/hare_parse-any.o
    470 stdlib_env += HARE_TD_hare::parse=$(HARECACHE)/hare/parse/hare_parse.td
    471 stdlib_deps_any += $(stdlib_hare_parse_any)
    472 stdlib_hare_parse_linux = $(stdlib_hare_parse_any)
    473 stdlib_hare_parse_freebsd = $(stdlib_hare_parse_any)
    474 
    475 # gen_lib hare::types (any)
    476 stdlib_hare_types_any = $(HARECACHE)/hare/types/hare_types-any.o
    477 stdlib_env += HARE_TD_hare::types=$(HARECACHE)/hare/types/hare_types.td
    478 stdlib_deps_any += $(stdlib_hare_types_any)
    479 stdlib_hare_types_linux = $(stdlib_hare_types_any)
    480 stdlib_hare_types_freebsd = $(stdlib_hare_types_any)
    481 
    482 # gen_lib hare::unit (any)
    483 stdlib_hare_unit_any = $(HARECACHE)/hare/unit/hare_unit-any.o
    484 stdlib_env += HARE_TD_hare::unit=$(HARECACHE)/hare/unit/hare_unit.td
    485 stdlib_deps_any += $(stdlib_hare_unit_any)
    486 stdlib_hare_unit_linux = $(stdlib_hare_unit_any)
    487 stdlib_hare_unit_freebsd = $(stdlib_hare_unit_any)
    488 
    489 # gen_lib hare::unparse (any)
    490 stdlib_hare_unparse_any = $(HARECACHE)/hare/unparse/hare_unparse-any.o
    491 stdlib_env += HARE_TD_hare::unparse=$(HARECACHE)/hare/unparse/hare_unparse.td
    492 stdlib_deps_any += $(stdlib_hare_unparse_any)
    493 stdlib_hare_unparse_linux = $(stdlib_hare_unparse_any)
    494 stdlib_hare_unparse_freebsd = $(stdlib_hare_unparse_any)
    495 
    496 # gen_lib hash (any)
    497 stdlib_hash_any = $(HARECACHE)/hash/hash-any.o
    498 stdlib_env += HARE_TD_hash=$(HARECACHE)/hash/hash.td
    499 stdlib_deps_any += $(stdlib_hash_any)
    500 stdlib_hash_linux = $(stdlib_hash_any)
    501 stdlib_hash_freebsd = $(stdlib_hash_any)
    502 
    503 # gen_lib hash::adler32 (any)
    504 stdlib_hash_adler32_any = $(HARECACHE)/hash/adler32/hash_adler32-any.o
    505 stdlib_env += HARE_TD_hash::adler32=$(HARECACHE)/hash/adler32/hash_adler32.td
    506 stdlib_deps_any += $(stdlib_hash_adler32_any)
    507 stdlib_hash_adler32_linux = $(stdlib_hash_adler32_any)
    508 stdlib_hash_adler32_freebsd = $(stdlib_hash_adler32_any)
    509 
    510 # gen_lib hash::crc16 (any)
    511 stdlib_hash_crc16_any = $(HARECACHE)/hash/crc16/hash_crc16-any.o
    512 stdlib_env += HARE_TD_hash::crc16=$(HARECACHE)/hash/crc16/hash_crc16.td
    513 stdlib_deps_any += $(stdlib_hash_crc16_any)
    514 stdlib_hash_crc16_linux = $(stdlib_hash_crc16_any)
    515 stdlib_hash_crc16_freebsd = $(stdlib_hash_crc16_any)
    516 
    517 # gen_lib hash::crc32 (any)
    518 stdlib_hash_crc32_any = $(HARECACHE)/hash/crc32/hash_crc32-any.o
    519 stdlib_env += HARE_TD_hash::crc32=$(HARECACHE)/hash/crc32/hash_crc32.td
    520 stdlib_deps_any += $(stdlib_hash_crc32_any)
    521 stdlib_hash_crc32_linux = $(stdlib_hash_crc32_any)
    522 stdlib_hash_crc32_freebsd = $(stdlib_hash_crc32_any)
    523 
    524 # gen_lib hash::crc64 (any)
    525 stdlib_hash_crc64_any = $(HARECACHE)/hash/crc64/hash_crc64-any.o
    526 stdlib_env += HARE_TD_hash::crc64=$(HARECACHE)/hash/crc64/hash_crc64.td
    527 stdlib_deps_any += $(stdlib_hash_crc64_any)
    528 stdlib_hash_crc64_linux = $(stdlib_hash_crc64_any)
    529 stdlib_hash_crc64_freebsd = $(stdlib_hash_crc64_any)
    530 
    531 # gen_lib hash::fnv (any)
    532 stdlib_hash_fnv_any = $(HARECACHE)/hash/fnv/hash_fnv-any.o
    533 stdlib_env += HARE_TD_hash::fnv=$(HARECACHE)/hash/fnv/hash_fnv.td
    534 stdlib_deps_any += $(stdlib_hash_fnv_any)
    535 stdlib_hash_fnv_linux = $(stdlib_hash_fnv_any)
    536 stdlib_hash_fnv_freebsd = $(stdlib_hash_fnv_any)
    537 
    538 # gen_lib hash::siphash (any)
    539 stdlib_hash_siphash_any = $(HARECACHE)/hash/siphash/hash_siphash-any.o
    540 stdlib_env += HARE_TD_hash::siphash=$(HARECACHE)/hash/siphash/hash_siphash.td
    541 stdlib_deps_any += $(stdlib_hash_siphash_any)
    542 stdlib_hash_siphash_linux = $(stdlib_hash_siphash_any)
    543 stdlib_hash_siphash_freebsd = $(stdlib_hash_siphash_any)
    544 
    545 # gen_lib io (linux)
    546 stdlib_io_linux = $(HARECACHE)/io/io-linux.o
    547 stdlib_env += HARE_TD_io=$(HARECACHE)/io/io.td
    548 stdlib_deps_linux += $(stdlib_io_linux)
    549 
    550 # gen_lib io (freebsd)
    551 stdlib_io_freebsd = $(HARECACHE)/io/io-freebsd.o
    552 stdlib_env += HARE_TD_io=$(HARECACHE)/io/io.td
    553 stdlib_deps_freebsd += $(stdlib_io_freebsd)
    554 
    555 # gen_lib linux (linux)
    556 stdlib_linux_linux = $(HARECACHE)/linux/linux-linux.o
    557 stdlib_env += HARE_TD_linux=$(HARECACHE)/linux/linux.td
    558 stdlib_deps_linux += $(stdlib_linux_linux)
    559 
    560 # gen_lib linux::keyctl (linux)
    561 stdlib_linux_keyctl_linux = $(HARECACHE)/linux/keyctl/linux_keyctl-linux.o
    562 stdlib_env += HARE_TD_linux::keyctl=$(HARECACHE)/linux/keyctl/linux_keyctl.td
    563 stdlib_deps_linux += $(stdlib_linux_keyctl_linux)
    564 
    565 # gen_lib linux::timerfd (linux)
    566 stdlib_linux_timerfd_linux = $(HARECACHE)/linux/timerfd/linux_timerfd-linux.o
    567 stdlib_env += HARE_TD_linux::timerfd=$(HARECACHE)/linux/timerfd/linux_timerfd.td
    568 stdlib_deps_linux += $(stdlib_linux_timerfd_linux)
    569 
    570 # gen_lib linux::vdso (linux)
    571 stdlib_linux_vdso_linux = $(HARECACHE)/linux/vdso/linux_vdso-linux.o
    572 stdlib_env += HARE_TD_linux::vdso=$(HARECACHE)/linux/vdso/linux_vdso.td
    573 stdlib_deps_linux += $(stdlib_linux_vdso_linux)
    574 
    575 # gen_lib log (linux)
    576 stdlib_log_linux = $(HARECACHE)/log/log-linux.o
    577 stdlib_env += HARE_TD_log=$(HARECACHE)/log/log.td
    578 stdlib_deps_linux += $(stdlib_log_linux)
    579 
    580 # gen_lib log (freebsd)
    581 stdlib_log_freebsd = $(HARECACHE)/log/log-freebsd.o
    582 stdlib_env += HARE_TD_log=$(HARECACHE)/log/log.td
    583 stdlib_deps_freebsd += $(stdlib_log_freebsd)
    584 
    585 # gen_lib math (any)
    586 stdlib_math_any = $(HARECACHE)/math/math-any.o
    587 stdlib_env += HARE_TD_math=$(HARECACHE)/math/math.td
    588 stdlib_deps_any += $(stdlib_math_any)
    589 stdlib_math_linux = $(stdlib_math_any)
    590 stdlib_math_freebsd = $(stdlib_math_any)
    591 
    592 # gen_lib math::checked (any)
    593 stdlib_math_checked_any = $(HARECACHE)/math/checked/math_checked-any.o
    594 stdlib_env += HARE_TD_math::checked=$(HARECACHE)/math/checked/math_checked.td
    595 stdlib_deps_any += $(stdlib_math_checked_any)
    596 stdlib_math_checked_linux = $(stdlib_math_checked_any)
    597 stdlib_math_checked_freebsd = $(stdlib_math_checked_any)
    598 
    599 # gen_lib math::complex (any)
    600 stdlib_math_complex_any = $(HARECACHE)/math/complex/math_complex-any.o
    601 stdlib_env += HARE_TD_math::complex=$(HARECACHE)/math/complex/math_complex.td
    602 stdlib_deps_any += $(stdlib_math_complex_any)
    603 stdlib_math_complex_linux = $(stdlib_math_complex_any)
    604 stdlib_math_complex_freebsd = $(stdlib_math_complex_any)
    605 
    606 # gen_lib math::random (any)
    607 stdlib_math_random_any = $(HARECACHE)/math/random/math_random-any.o
    608 stdlib_env += HARE_TD_math::random=$(HARECACHE)/math/random/math_random.td
    609 stdlib_deps_any += $(stdlib_math_random_any)
    610 stdlib_math_random_linux = $(stdlib_math_random_any)
    611 stdlib_math_random_freebsd = $(stdlib_math_random_any)
    612 
    613 # gen_lib memio (any)
    614 stdlib_memio_any = $(HARECACHE)/memio/memio-any.o
    615 stdlib_env += HARE_TD_memio=$(HARECACHE)/memio/memio.td
    616 stdlib_deps_any += $(stdlib_memio_any)
    617 stdlib_memio_linux = $(stdlib_memio_any)
    618 stdlib_memio_freebsd = $(stdlib_memio_any)
    619 
    620 # gen_lib net (linux)
    621 stdlib_net_linux = $(HARECACHE)/net/net-linux.o
    622 stdlib_env += HARE_TD_net=$(HARECACHE)/net/net.td
    623 stdlib_deps_linux += $(stdlib_net_linux)
    624 
    625 # gen_lib net (freebsd)
    626 stdlib_net_freebsd = $(HARECACHE)/net/net-freebsd.o
    627 stdlib_env += HARE_TD_net=$(HARECACHE)/net/net.td
    628 stdlib_deps_freebsd += $(stdlib_net_freebsd)
    629 
    630 # gen_lib net::dial (any)
    631 stdlib_net_dial_any = $(HARECACHE)/net/dial/net_dial-any.o
    632 stdlib_env += HARE_TD_net::dial=$(HARECACHE)/net/dial/net_dial.td
    633 stdlib_deps_any += $(stdlib_net_dial_any)
    634 stdlib_net_dial_linux = $(stdlib_net_dial_any)
    635 stdlib_net_dial_freebsd = $(stdlib_net_dial_any)
    636 
    637 # gen_lib net::dns (any)
    638 stdlib_net_dns_any = $(HARECACHE)/net/dns/net_dns-any.o
    639 stdlib_env += HARE_TD_net::dns=$(HARECACHE)/net/dns/net_dns.td
    640 stdlib_deps_any += $(stdlib_net_dns_any)
    641 stdlib_net_dns_linux = $(stdlib_net_dns_any)
    642 stdlib_net_dns_freebsd = $(stdlib_net_dns_any)
    643 
    644 # gen_lib net::ip (linux)
    645 stdlib_net_ip_linux = $(HARECACHE)/net/ip/net_ip-linux.o
    646 stdlib_env += HARE_TD_net::ip=$(HARECACHE)/net/ip/net_ip.td
    647 stdlib_deps_linux += $(stdlib_net_ip_linux)
    648 
    649 # gen_lib net::ip (freebsd)
    650 stdlib_net_ip_freebsd = $(HARECACHE)/net/ip/net_ip-freebsd.o
    651 stdlib_env += HARE_TD_net::ip=$(HARECACHE)/net/ip/net_ip.td
    652 stdlib_deps_freebsd += $(stdlib_net_ip_freebsd)
    653 
    654 # gen_lib net::tcp (linux)
    655 stdlib_net_tcp_linux = $(HARECACHE)/net/tcp/net_tcp-linux.o
    656 stdlib_env += HARE_TD_net::tcp=$(HARECACHE)/net/tcp/net_tcp.td
    657 stdlib_deps_linux += $(stdlib_net_tcp_linux)
    658 
    659 # gen_lib net::tcp (freebsd)
    660 stdlib_net_tcp_freebsd = $(HARECACHE)/net/tcp/net_tcp-freebsd.o
    661 stdlib_env += HARE_TD_net::tcp=$(HARECACHE)/net/tcp/net_tcp.td
    662 stdlib_deps_freebsd += $(stdlib_net_tcp_freebsd)
    663 
    664 # gen_lib net::udp (linux)
    665 stdlib_net_udp_linux = $(HARECACHE)/net/udp/net_udp-linux.o
    666 stdlib_env += HARE_TD_net::udp=$(HARECACHE)/net/udp/net_udp.td
    667 stdlib_deps_linux += $(stdlib_net_udp_linux)
    668 
    669 # gen_lib net::udp (freebsd)
    670 stdlib_net_udp_freebsd = $(HARECACHE)/net/udp/net_udp-freebsd.o
    671 stdlib_env += HARE_TD_net::udp=$(HARECACHE)/net/udp/net_udp.td
    672 stdlib_deps_freebsd += $(stdlib_net_udp_freebsd)
    673 
    674 # gen_lib net::unix (linux)
    675 stdlib_net_unix_linux = $(HARECACHE)/net/unix/net_unix-linux.o
    676 stdlib_env += HARE_TD_net::unix=$(HARECACHE)/net/unix/net_unix.td
    677 stdlib_deps_linux += $(stdlib_net_unix_linux)
    678 
    679 # gen_lib net::unix (freebsd)
    680 stdlib_net_unix_freebsd = $(HARECACHE)/net/unix/net_unix-freebsd.o
    681 stdlib_env += HARE_TD_net::unix=$(HARECACHE)/net/unix/net_unix.td
    682 stdlib_deps_freebsd += $(stdlib_net_unix_freebsd)
    683 
    684 # gen_lib net::uri (any)
    685 stdlib_net_uri_any = $(HARECACHE)/net/uri/net_uri-any.o
    686 stdlib_env += HARE_TD_net::uri=$(HARECACHE)/net/uri/net_uri.td
    687 stdlib_deps_any += $(stdlib_net_uri_any)
    688 stdlib_net_uri_linux = $(stdlib_net_uri_any)
    689 stdlib_net_uri_freebsd = $(stdlib_net_uri_any)
    690 
    691 # gen_lib os (linux)
    692 stdlib_os_linux = $(HARECACHE)/os/os-linux.o
    693 stdlib_env += HARE_TD_os=$(HARECACHE)/os/os.td
    694 stdlib_deps_linux += $(stdlib_os_linux)
    695 
    696 # gen_lib os (freebsd)
    697 stdlib_os_freebsd = $(HARECACHE)/os/os-freebsd.o
    698 stdlib_env += HARE_TD_os=$(HARECACHE)/os/os.td
    699 stdlib_deps_freebsd += $(stdlib_os_freebsd)
    700 
    701 # gen_lib os::exec (linux)
    702 stdlib_os_exec_linux = $(HARECACHE)/os/exec/os_exec-linux.o
    703 stdlib_env += HARE_TD_os::exec=$(HARECACHE)/os/exec/os_exec.td
    704 stdlib_deps_linux += $(stdlib_os_exec_linux)
    705 
    706 # gen_lib os::exec (freebsd)
    707 stdlib_os_exec_freebsd = $(HARECACHE)/os/exec/os_exec-freebsd.o
    708 stdlib_env += HARE_TD_os::exec=$(HARECACHE)/os/exec/os_exec.td
    709 stdlib_deps_freebsd += $(stdlib_os_exec_freebsd)
    710 
    711 # gen_lib path (any)
    712 stdlib_path_any = $(HARECACHE)/path/path-any.o
    713 stdlib_env += HARE_TD_path=$(HARECACHE)/path/path.td
    714 stdlib_deps_any += $(stdlib_path_any)
    715 stdlib_path_linux = $(stdlib_path_any)
    716 stdlib_path_freebsd = $(stdlib_path_any)
    717 
    718 # gen_lib regex (any)
    719 stdlib_regex_any = $(HARECACHE)/regex/regex-any.o
    720 stdlib_env += HARE_TD_regex=$(HARECACHE)/regex/regex.td
    721 stdlib_deps_any += $(stdlib_regex_any)
    722 stdlib_regex_linux = $(stdlib_regex_any)
    723 stdlib_regex_freebsd = $(stdlib_regex_any)
    724 
    725 # gen_lib shlex (any)
    726 stdlib_shlex_any = $(HARECACHE)/shlex/shlex-any.o
    727 stdlib_env += HARE_TD_shlex=$(HARECACHE)/shlex/shlex.td
    728 stdlib_deps_any += $(stdlib_shlex_any)
    729 stdlib_shlex_linux = $(stdlib_shlex_any)
    730 stdlib_shlex_freebsd = $(stdlib_shlex_any)
    731 
    732 # gen_lib sort (any)
    733 stdlib_sort_any = $(HARECACHE)/sort/sort-any.o
    734 stdlib_env += HARE_TD_sort=$(HARECACHE)/sort/sort.td
    735 stdlib_deps_any += $(stdlib_sort_any)
    736 stdlib_sort_linux = $(stdlib_sort_any)
    737 stdlib_sort_freebsd = $(stdlib_sort_any)
    738 
    739 # gen_lib strconv (any)
    740 stdlib_strconv_any = $(HARECACHE)/strconv/strconv-any.o
    741 stdlib_env += HARE_TD_strconv=$(HARECACHE)/strconv/strconv.td
    742 stdlib_deps_any += $(stdlib_strconv_any)
    743 stdlib_strconv_linux = $(stdlib_strconv_any)
    744 stdlib_strconv_freebsd = $(stdlib_strconv_any)
    745 
    746 # gen_lib strings (any)
    747 stdlib_strings_any = $(HARECACHE)/strings/strings-any.o
    748 stdlib_env += HARE_TD_strings=$(HARECACHE)/strings/strings.td
    749 stdlib_deps_any += $(stdlib_strings_any)
    750 stdlib_strings_linux = $(stdlib_strings_any)
    751 stdlib_strings_freebsd = $(stdlib_strings_any)
    752 
    753 # gen_lib strings::template (any)
    754 stdlib_strings_template_any = $(HARECACHE)/strings/template/strings_template-any.o
    755 stdlib_env += HARE_TD_strings::template=$(HARECACHE)/strings/template/strings_template.td
    756 stdlib_deps_any += $(stdlib_strings_template_any)
    757 stdlib_strings_template_linux = $(stdlib_strings_template_any)
    758 stdlib_strings_template_freebsd = $(stdlib_strings_template_any)
    759 
    760 # gen_lib temp (linux)
    761 stdlib_temp_linux = $(HARECACHE)/temp/temp-linux.o
    762 stdlib_env += HARE_TD_temp=$(HARECACHE)/temp/temp.td
    763 stdlib_deps_linux += $(stdlib_temp_linux)
    764 
    765 # gen_lib temp (freebsd)
    766 stdlib_temp_freebsd = $(HARECACHE)/temp/temp-freebsd.o
    767 stdlib_env += HARE_TD_temp=$(HARECACHE)/temp/temp.td
    768 stdlib_deps_freebsd += $(stdlib_temp_freebsd)
    769 
    770 # gen_lib test (any)
    771 stdlib_test_any = $(HARECACHE)/test/test-any.o
    772 stdlib_env += HARE_TD_test=$(HARECACHE)/test/test.td
    773 stdlib_deps_any += $(stdlib_test_any)
    774 stdlib_test_linux = $(stdlib_test_any)
    775 stdlib_test_freebsd = $(stdlib_test_any)
    776 
    777 # gen_lib time (linux)
    778 stdlib_time_linux = $(HARECACHE)/time/time-linux.o
    779 stdlib_env += HARE_TD_time=$(HARECACHE)/time/time.td
    780 stdlib_deps_linux += $(stdlib_time_linux)
    781 
    782 # gen_lib time (freebsd)
    783 stdlib_time_freebsd = $(HARECACHE)/time/time-freebsd.o
    784 stdlib_env += HARE_TD_time=$(HARECACHE)/time/time.td
    785 stdlib_deps_freebsd += $(stdlib_time_freebsd)
    786 
    787 # gen_lib time::chrono (linux)
    788 stdlib_time_chrono_linux = $(HARECACHE)/time/chrono/time_chrono-linux.o
    789 stdlib_env += HARE_TD_time::chrono=$(HARECACHE)/time/chrono/time_chrono.td
    790 stdlib_deps_linux += $(stdlib_time_chrono_linux)
    791 
    792 # gen_lib time::chrono (freebsd)
    793 stdlib_time_chrono_freebsd = $(HARECACHE)/time/chrono/time_chrono-freebsd.o
    794 stdlib_env += HARE_TD_time::chrono=$(HARECACHE)/time/chrono/time_chrono.td
    795 stdlib_deps_freebsd += $(stdlib_time_chrono_freebsd)
    796 
    797 # gen_lib time::date (linux)
    798 stdlib_time_date_linux = $(HARECACHE)/time/date/time_date-linux.o
    799 stdlib_env += HARE_TD_time::date=$(HARECACHE)/time/date/time_date.td
    800 stdlib_deps_linux += $(stdlib_time_date_linux)
    801 
    802 # gen_lib time::date (freebsd)
    803 stdlib_time_date_freebsd = $(HARECACHE)/time/date/time_date-freebsd.o
    804 stdlib_env += HARE_TD_time::date=$(HARECACHE)/time/date/time_date.td
    805 stdlib_deps_freebsd += $(stdlib_time_date_freebsd)
    806 
    807 # gen_lib types (any)
    808 stdlib_types_any = $(HARECACHE)/types/types-any.o
    809 stdlib_env += HARE_TD_types=$(HARECACHE)/types/types.td
    810 stdlib_deps_any += $(stdlib_types_any)
    811 stdlib_types_linux = $(stdlib_types_any)
    812 stdlib_types_freebsd = $(stdlib_types_any)
    813 
    814 # gen_lib types::c (any)
    815 stdlib_types_c_any = $(HARECACHE)/types/c/types_c-any.o
    816 stdlib_env += HARE_TD_types::c=$(HARECACHE)/types/c/types_c.td
    817 stdlib_deps_any += $(stdlib_types_c_any)
    818 stdlib_types_c_linux = $(stdlib_types_c_any)
    819 stdlib_types_c_freebsd = $(stdlib_types_c_any)
    820 
    821 # gen_lib unix (linux)
    822 stdlib_unix_linux = $(HARECACHE)/unix/unix-linux.o
    823 stdlib_env += HARE_TD_unix=$(HARECACHE)/unix/unix.td
    824 stdlib_deps_linux += $(stdlib_unix_linux)
    825 
    826 # gen_lib unix (freebsd)
    827 stdlib_unix_freebsd = $(HARECACHE)/unix/unix-freebsd.o
    828 stdlib_env += HARE_TD_unix=$(HARECACHE)/unix/unix.td
    829 stdlib_deps_freebsd += $(stdlib_unix_freebsd)
    830 
    831 # gen_lib unix::hosts (linux)
    832 stdlib_unix_hosts_linux = $(HARECACHE)/unix/hosts/unix_hosts-linux.o
    833 stdlib_env += HARE_TD_unix::hosts=$(HARECACHE)/unix/hosts/unix_hosts.td
    834 stdlib_deps_linux += $(stdlib_unix_hosts_linux)
    835 
    836 # gen_lib unix::hosts (freebsd)
    837 stdlib_unix_hosts_freebsd = $(HARECACHE)/unix/hosts/unix_hosts-freebsd.o
    838 stdlib_env += HARE_TD_unix::hosts=$(HARECACHE)/unix/hosts/unix_hosts.td
    839 stdlib_deps_freebsd += $(stdlib_unix_hosts_freebsd)
    840 
    841 # gen_lib unix::passwd (any)
    842 stdlib_unix_passwd_any = $(HARECACHE)/unix/passwd/unix_passwd-any.o
    843 stdlib_env += HARE_TD_unix::passwd=$(HARECACHE)/unix/passwd/unix_passwd.td
    844 stdlib_deps_any += $(stdlib_unix_passwd_any)
    845 stdlib_unix_passwd_linux = $(stdlib_unix_passwd_any)
    846 stdlib_unix_passwd_freebsd = $(stdlib_unix_passwd_any)
    847 
    848 # gen_lib unix::poll (linux)
    849 stdlib_unix_poll_linux = $(HARECACHE)/unix/poll/unix_poll-linux.o
    850 stdlib_env += HARE_TD_unix::poll=$(HARECACHE)/unix/poll/unix_poll.td
    851 stdlib_deps_linux += $(stdlib_unix_poll_linux)
    852 
    853 # gen_lib unix::poll (freebsd)
    854 stdlib_unix_poll_freebsd = $(HARECACHE)/unix/poll/unix_poll-freebsd.o
    855 stdlib_env += HARE_TD_unix::poll=$(HARECACHE)/unix/poll/unix_poll.td
    856 stdlib_deps_freebsd += $(stdlib_unix_poll_freebsd)
    857 
    858 # gen_lib unix::resolvconf (linux)
    859 stdlib_unix_resolvconf_linux = $(HARECACHE)/unix/resolvconf/unix_resolvconf-linux.o
    860 stdlib_env += HARE_TD_unix::resolvconf=$(HARECACHE)/unix/resolvconf/unix_resolvconf.td
    861 stdlib_deps_linux += $(stdlib_unix_resolvconf_linux)
    862 
    863 # gen_lib unix::resolvconf (freebsd)
    864 stdlib_unix_resolvconf_freebsd = $(HARECACHE)/unix/resolvconf/unix_resolvconf-freebsd.o
    865 stdlib_env += HARE_TD_unix::resolvconf=$(HARECACHE)/unix/resolvconf/unix_resolvconf.td
    866 stdlib_deps_freebsd += $(stdlib_unix_resolvconf_freebsd)
    867 
    868 # gen_lib unix::signal (linux)
    869 stdlib_unix_signal_linux = $(HARECACHE)/unix/signal/unix_signal-linux.o
    870 stdlib_env += HARE_TD_unix::signal=$(HARECACHE)/unix/signal/unix_signal.td
    871 stdlib_deps_linux += $(stdlib_unix_signal_linux)
    872 
    873 # gen_lib unix::signal (freebsd)
    874 stdlib_unix_signal_freebsd = $(HARECACHE)/unix/signal/unix_signal-freebsd.o
    875 stdlib_env += HARE_TD_unix::signal=$(HARECACHE)/unix/signal/unix_signal.td
    876 stdlib_deps_freebsd += $(stdlib_unix_signal_freebsd)
    877 
    878 # gen_lib unix::tty (linux)
    879 stdlib_unix_tty_linux = $(HARECACHE)/unix/tty/unix_tty-linux.o
    880 stdlib_env += HARE_TD_unix::tty=$(HARECACHE)/unix/tty/unix_tty.td
    881 stdlib_deps_linux += $(stdlib_unix_tty_linux)
    882 
    883 # gen_lib unix::tty (freebsd)
    884 stdlib_unix_tty_freebsd = $(HARECACHE)/unix/tty/unix_tty-freebsd.o
    885 stdlib_env += HARE_TD_unix::tty=$(HARECACHE)/unix/tty/unix_tty.td
    886 stdlib_deps_freebsd += $(stdlib_unix_tty_freebsd)
    887 
    888 # gen_lib uuid (any)
    889 stdlib_uuid_any = $(HARECACHE)/uuid/uuid-any.o
    890 stdlib_env += HARE_TD_uuid=$(HARECACHE)/uuid/uuid.td
    891 stdlib_deps_any += $(stdlib_uuid_any)
    892 stdlib_uuid_linux = $(stdlib_uuid_any)
    893 stdlib_uuid_freebsd = $(stdlib_uuid_any)
    894 
    895 # ascii (+any)
    896 stdlib_ascii_any_srcs = \
    897 	$(STDLIB)/ascii/ctype.ha \
    898 	$(STDLIB)/ascii/string.ha \
    899 	$(STDLIB)/ascii/valid.ha
    900 
    901 $(HARECACHE)/ascii/ascii-any.ssa: $(stdlib_ascii_any_srcs) $(stdlib_rt) $(stdlib_strings_$(PLATFORM))
    902 	@printf 'HAREC \t$@\n'
    903 	@mkdir -p $(HARECACHE)/ascii
    904 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nascii \
    905 		-t$(HARECACHE)/ascii/ascii.td $(stdlib_ascii_any_srcs)
    906 
    907 # bufio (+any)
    908 stdlib_bufio_any_srcs = \
    909 	$(STDLIB)/bufio/stream.ha \
    910 	$(STDLIB)/bufio/scanner.ha
    911 
    912 $(HARECACHE)/bufio/bufio-any.ssa: $(stdlib_bufio_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_types_$(PLATFORM))
    913 	@printf 'HAREC \t$@\n'
    914 	@mkdir -p $(HARECACHE)/bufio
    915 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nbufio \
    916 		-t$(HARECACHE)/bufio/bufio.td $(stdlib_bufio_any_srcs)
    917 
    918 # bytes (+any)
    919 stdlib_bytes_any_srcs = \
    920 	$(STDLIB)/bytes/contains.ha \
    921 	$(STDLIB)/bytes/equal.ha \
    922 	$(STDLIB)/bytes/index.ha \
    923 	$(STDLIB)/bytes/reverse.ha \
    924 	$(STDLIB)/bytes/tokenize.ha \
    925 	$(STDLIB)/bytes/trim.ha \
    926 	$(STDLIB)/bytes/two_way.ha \
    927 	$(STDLIB)/bytes/zero.ha
    928 
    929 $(HARECACHE)/bytes/bytes-any.ssa: $(stdlib_bytes_any_srcs) $(stdlib_rt) $(stdlib_types_$(PLATFORM))
    930 	@printf 'HAREC \t$@\n'
    931 	@mkdir -p $(HARECACHE)/bytes
    932 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nbytes \
    933 		-t$(HARECACHE)/bytes/bytes.td $(stdlib_bytes_any_srcs)
    934 
    935 # crypto (+any)
    936 stdlib_crypto_any_srcs = \
    937 	$(STDLIB)/crypto/authenc.ha \
    938 	$(STDLIB)/crypto/keyderiv.ha
    939 
    940 $(HARECACHE)/crypto/crypto-any.ssa: $(stdlib_crypto_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_argon2_$(PLATFORM)) $(stdlib_crypto_chachapoly_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
    941 	@printf 'HAREC \t$@\n'
    942 	@mkdir -p $(HARECACHE)/crypto
    943 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto \
    944 		-t$(HARECACHE)/crypto/crypto.td $(stdlib_crypto_any_srcs)
    945 
    946 # crypto::aes (+any)
    947 stdlib_crypto_aes_any_srcs = \
    948 	$(STDLIB)/crypto/aes/aes.ha \
    949 	$(STDLIB)/crypto/aes/aes_ct64.ha \
    950 	$(STDLIB)/crypto/aes/block.ha
    951 
    952 $(HARECACHE)/crypto/aes/crypto_aes-any.ssa: $(stdlib_crypto_aes_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_cipher_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
    953 	@printf 'HAREC \t$@\n'
    954 	@mkdir -p $(HARECACHE)/crypto/aes
    955 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::aes \
    956 		-t$(HARECACHE)/crypto/aes/crypto_aes.td $(stdlib_crypto_aes_any_srcs)
    957 
    958 # crypto::aes::xts (+any)
    959 stdlib_crypto_aes_xts_any_srcs = \
    960 	$(STDLIB)/crypto/aes/xts/xts.ha
    961 
    962 $(HARECACHE)/crypto/aes/xts/crypto_aes_xts-any.ssa: $(stdlib_crypto_aes_xts_any_srcs) $(stdlib_rt) $(stdlib_crypto_aes_$(PLATFORM)) $(stdlib_crypto_cipher_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM))
    963 	@printf 'HAREC \t$@\n'
    964 	@mkdir -p $(HARECACHE)/crypto/aes/xts
    965 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::aes::xts \
    966 		-t$(HARECACHE)/crypto/aes/xts/crypto_aes_xts.td $(stdlib_crypto_aes_xts_any_srcs)
    967 
    968 # crypto::argon2 (+any)
    969 stdlib_crypto_argon2_any_srcs = \
    970 	$(STDLIB)/crypto/argon2/argon2.ha
    971 
    972 $(HARECACHE)/crypto/argon2/crypto_argon2-any.ssa: $(stdlib_crypto_argon2_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_blake2b_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_types_$(PLATFORM))
    973 	@printf 'HAREC \t$@\n'
    974 	@mkdir -p $(HARECACHE)/crypto/argon2
    975 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::argon2 \
    976 		-t$(HARECACHE)/crypto/argon2/crypto_argon2.td $(stdlib_crypto_argon2_any_srcs)
    977 
    978 # crypto::bcrypt (+any)
    979 stdlib_crypto_bcrypt_any_srcs = \
    980 	$(STDLIB)/crypto/bcrypt/bcrypt.ha \
    981 	$(STDLIB)/crypto/bcrypt/base64.ha
    982 
    983 $(HARECACHE)/crypto/bcrypt/crypto_bcrypt-any.ssa: $(stdlib_crypto_bcrypt_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_$(PLATFORM)) $(stdlib_crypto_blowfish_$(PLATFORM)) $(stdlib_crypto_cipher_$(PLATFORM)) $(stdlib_crypto_random_$(PLATFORM)) $(stdlib_encoding_base64_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
    984 	@printf 'HAREC \t$@\n'
    985 	@mkdir -p $(HARECACHE)/crypto/bcrypt
    986 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::bcrypt \
    987 		-t$(HARECACHE)/crypto/bcrypt/crypto_bcrypt.td $(stdlib_crypto_bcrypt_any_srcs)
    988 
    989 # crypto::blake2b (+any)
    990 stdlib_crypto_blake2b_any_srcs = \
    991 	$(STDLIB)/crypto/blake2b/blake2b.ha
    992 
    993 $(HARECACHE)/crypto/blake2b/crypto_blake2b-any.ssa: $(stdlib_crypto_blake2b_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
    994 	@printf 'HAREC \t$@\n'
    995 	@mkdir -p $(HARECACHE)/crypto/blake2b
    996 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::blake2b \
    997 		-t$(HARECACHE)/crypto/blake2b/crypto_blake2b.td $(stdlib_crypto_blake2b_any_srcs)
    998 
    999 # crypto::blowfish (+any)
   1000 stdlib_crypto_blowfish_any_srcs = \
   1001 	$(STDLIB)/crypto/blowfish/blowfish.ha \
   1002 	$(STDLIB)/crypto/blowfish/const.ha
   1003 
   1004 $(HARECACHE)/crypto/blowfish/crypto_blowfish-any.ssa: $(stdlib_crypto_blowfish_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_cipher_$(PLATFORM)) $(stdlib_endian_$(PLATFORM))
   1005 	@printf 'HAREC \t$@\n'
   1006 	@mkdir -p $(HARECACHE)/crypto/blowfish
   1007 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::blowfish \
   1008 		-t$(HARECACHE)/crypto/blowfish/crypto_blowfish.td $(stdlib_crypto_blowfish_any_srcs)
   1009 
   1010 # crypto::bigint (+any)
   1011 stdlib_crypto_bigint_any_srcs = \
   1012 	$(STDLIB)/crypto/bigint/arithm.ha \
   1013 	$(STDLIB)/crypto/bigint/encoding.ha \
   1014 	$(STDLIB)/crypto/bigint/monty.ha \
   1015 	$(STDLIB)/crypto/bigint/types.ha \
   1016 	$(STDLIB)/crypto/bigint/util.ha
   1017 
   1018 $(HARECACHE)/crypto/bigint/crypto_bigint-any.ssa: $(stdlib_crypto_bigint_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM))
   1019 	@printf 'HAREC \t$@\n'
   1020 	@mkdir -p $(HARECACHE)/crypto/bigint
   1021 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::bigint \
   1022 		-t$(HARECACHE)/crypto/bigint/crypto_bigint.td $(stdlib_crypto_bigint_any_srcs)
   1023 
   1024 # crypto::chacha (+any)
   1025 stdlib_crypto_chacha_any_srcs = \
   1026 	$(STDLIB)/crypto/chacha/chacha20.ha
   1027 
   1028 $(HARECACHE)/crypto/chacha/crypto_chacha-any.ssa: $(stdlib_crypto_chacha_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_cipher_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
   1029 	@printf 'HAREC \t$@\n'
   1030 	@mkdir -p $(HARECACHE)/crypto/chacha
   1031 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::chacha \
   1032 		-t$(HARECACHE)/crypto/chacha/crypto_chacha.td $(stdlib_crypto_chacha_any_srcs)
   1033 
   1034 # crypto::chachapoly (+any)
   1035 stdlib_crypto_chachapoly_any_srcs = \
   1036 	$(STDLIB)/crypto/chachapoly/chachapoly.ha
   1037 
   1038 $(HARECACHE)/crypto/chachapoly/crypto_chachapoly-any.ssa: $(stdlib_crypto_chachapoly_any_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_chacha_$(PLATFORM)) $(stdlib_crypto_mac_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_crypto_poly1305_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_types_$(PLATFORM))
   1039 	@printf 'HAREC \t$@\n'
   1040 	@mkdir -p $(HARECACHE)/crypto/chachapoly
   1041 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::chachapoly \
   1042 		-t$(HARECACHE)/crypto/chachapoly/crypto_chachapoly.td $(stdlib_crypto_chachapoly_any_srcs)
   1043 
   1044 # crypto::cipher (+any)
   1045 stdlib_crypto_cipher_any_srcs = \
   1046 	$(STDLIB)/crypto/cipher/cipher.ha \
   1047 	$(STDLIB)/crypto/cipher/block.ha \
   1048 	$(STDLIB)/crypto/cipher/cbc.ha \
   1049 	$(STDLIB)/crypto/cipher/ctr.ha \
   1050 	$(STDLIB)/crypto/cipher/stream.ha \
   1051 	$(STDLIB)/crypto/cipher/gcm.ha \
   1052 	$(STDLIB)/crypto/cipher/ghash.ha
   1053 
   1054 $(HARECACHE)/crypto/cipher/crypto_cipher-any.ssa: $(stdlib_crypto_cipher_any_srcs) $(stdlib_rt) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_types_$(PLATFORM))
   1055 	@printf 'HAREC \t$@\n'
   1056 	@mkdir -p $(HARECACHE)/crypto/cipher
   1057 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::cipher \
   1058 		-t$(HARECACHE)/crypto/cipher/crypto_cipher.td $(stdlib_crypto_cipher_any_srcs)
   1059 
   1060 # crypto::hkdf (+any)
   1061 stdlib_crypto_hkdf_any_srcs = \
   1062 	$(STDLIB)/crypto/hkdf/hkdf.ha
   1063 
   1064 $(HARECACHE)/crypto/hkdf/crypto_hkdf-any.ssa: $(stdlib_crypto_hkdf_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_hmac_$(PLATFORM)) $(stdlib_crypto_mac_$(PLATFORM)) $(stdlib_hash_$(PLATFORM))
   1065 	@printf 'HAREC \t$@\n'
   1066 	@mkdir -p $(HARECACHE)/crypto/hkdf
   1067 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::hkdf \
   1068 		-t$(HARECACHE)/crypto/hkdf/crypto_hkdf.td $(stdlib_crypto_hkdf_any_srcs)
   1069 
   1070 # crypto::hmac (+any)
   1071 stdlib_crypto_hmac_any_srcs = \
   1072 	$(STDLIB)/crypto/hmac/hmac.ha \
   1073 	$(STDLIB)/crypto/hmac/sha1.ha \
   1074 	$(STDLIB)/crypto/hmac/sha256.ha
   1075 
   1076 $(HARECACHE)/crypto/hmac/crypto_hmac-any.ssa: $(stdlib_crypto_hmac_any_srcs) $(stdlib_rt) $(stdlib_crypto_mac_$(PLATFORM)) $(stdlib_crypto_sha1_$(PLATFORM)) $(stdlib_crypto_sha256_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM))
   1077 	@printf 'HAREC \t$@\n'
   1078 	@mkdir -p $(HARECACHE)/crypto/hmac
   1079 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::hmac \
   1080 		-t$(HARECACHE)/crypto/hmac/crypto_hmac.td $(stdlib_crypto_hmac_any_srcs)
   1081 
   1082 # crypto::mac (+any)
   1083 stdlib_crypto_mac_any_srcs = \
   1084 	$(STDLIB)/crypto/mac/mac.ha
   1085 
   1086 $(HARECACHE)/crypto/mac/crypto_mac-any.ssa: $(stdlib_crypto_mac_any_srcs) $(stdlib_rt) $(stdlib_io_$(PLATFORM))
   1087 	@printf 'HAREC \t$@\n'
   1088 	@mkdir -p $(HARECACHE)/crypto/mac
   1089 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::mac \
   1090 		-t$(HARECACHE)/crypto/mac/crypto_mac.td $(stdlib_crypto_mac_any_srcs)
   1091 
   1092 # crypto::math (+any)
   1093 stdlib_crypto_math_any_srcs = \
   1094 	$(STDLIB)/crypto/math/arithm.ha \
   1095 	$(STDLIB)/crypto/math/bits.ha
   1096 
   1097 $(HARECACHE)/crypto/math/crypto_math-any.ssa: $(stdlib_crypto_math_any_srcs) $(stdlib_rt)
   1098 	@printf 'HAREC \t$@\n'
   1099 	@mkdir -p $(HARECACHE)/crypto/math
   1100 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::math \
   1101 		-t$(HARECACHE)/crypto/math/crypto_math.td $(stdlib_crypto_math_any_srcs)
   1102 
   1103 # crypto::random (+linux)
   1104 stdlib_crypto_random_linux_srcs = \
   1105 	$(STDLIB)/crypto/random/+linux.ha \
   1106 	$(STDLIB)/crypto/random/random.ha
   1107 
   1108 $(HARECACHE)/crypto/random/crypto_random-linux.ssa: $(stdlib_crypto_random_linux_srcs) $(stdlib_rt) $(stdlib_rt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_errors_$(PLATFORM))
   1109 	@printf 'HAREC \t$@\n'
   1110 	@mkdir -p $(HARECACHE)/crypto/random
   1111 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::random \
   1112 		-t$(HARECACHE)/crypto/random/crypto_random.td $(stdlib_crypto_random_linux_srcs)
   1113 
   1114 # crypto::random (+freebsd)
   1115 stdlib_crypto_random_freebsd_srcs = \
   1116 	$(STDLIB)/crypto/random/+freebsd.ha \
   1117 	$(STDLIB)/crypto/random/random.ha
   1118 
   1119 $(HARECACHE)/crypto/random/crypto_random-freebsd.ssa: $(stdlib_crypto_random_freebsd_srcs) $(stdlib_rt) $(stdlib_rt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_errors_$(PLATFORM))
   1120 	@printf 'HAREC \t$@\n'
   1121 	@mkdir -p $(HARECACHE)/crypto/random
   1122 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::random \
   1123 		-t$(HARECACHE)/crypto/random/crypto_random.td $(stdlib_crypto_random_freebsd_srcs)
   1124 
   1125 # crypto::rsa (+any)
   1126 stdlib_crypto_rsa_any_srcs = \
   1127 	$(STDLIB)/crypto/rsa/core.ha \
   1128 	$(STDLIB)/crypto/rsa/errors.ha \
   1129 	$(STDLIB)/crypto/rsa/keys.ha \
   1130 	$(STDLIB)/crypto/rsa/pkcs1.ha
   1131 
   1132 $(HARECACHE)/crypto/rsa/crypto_rsa-any.ssa: $(stdlib_crypto_rsa_any_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_bigint_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_crypto_sha1_$(PLATFORM)) $(stdlib_crypto_sha256_$(PLATFORM)) $(stdlib_crypto_sha512_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_types_$(PLATFORM))
   1133 	@printf 'HAREC \t$@\n'
   1134 	@mkdir -p $(HARECACHE)/crypto/rsa
   1135 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::rsa \
   1136 		-t$(HARECACHE)/crypto/rsa/crypto_rsa.td $(stdlib_crypto_rsa_any_srcs)
   1137 
   1138 # crypto::poly1305 (+any)
   1139 stdlib_crypto_poly1305_any_srcs = \
   1140 	$(STDLIB)/crypto/poly1305/poly1305.ha
   1141 
   1142 $(HARECACHE)/crypto/poly1305/crypto_poly1305-any.ssa: $(stdlib_crypto_poly1305_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_mac_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
   1143 	@printf 'HAREC \t$@\n'
   1144 	@mkdir -p $(HARECACHE)/crypto/poly1305
   1145 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::poly1305 \
   1146 		-t$(HARECACHE)/crypto/poly1305/crypto_poly1305.td $(stdlib_crypto_poly1305_any_srcs)
   1147 
   1148 # crypto::salsa (+any)
   1149 stdlib_crypto_salsa_any_srcs = \
   1150 	$(STDLIB)/crypto/salsa/salsa20.ha
   1151 
   1152 $(HARECACHE)/crypto/salsa/crypto_salsa-any.ssa: $(stdlib_crypto_salsa_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_cipher_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
   1153 	@printf 'HAREC \t$@\n'
   1154 	@mkdir -p $(HARECACHE)/crypto/salsa
   1155 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::salsa \
   1156 		-t$(HARECACHE)/crypto/salsa/crypto_salsa.td $(stdlib_crypto_salsa_any_srcs)
   1157 
   1158 # crypto::sha1 (+any)
   1159 stdlib_crypto_sha1_any_srcs = \
   1160 	$(STDLIB)/crypto/sha1/sha1.ha
   1161 
   1162 $(HARECACHE)/crypto/sha1/crypto_sha1-any.ssa: $(stdlib_crypto_sha1_any_srcs) $(stdlib_rt) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_endian_$(PLATFORM))
   1163 	@printf 'HAREC \t$@\n'
   1164 	@mkdir -p $(HARECACHE)/crypto/sha1
   1165 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::sha1 \
   1166 		-t$(HARECACHE)/crypto/sha1/crypto_sha1.td $(stdlib_crypto_sha1_any_srcs)
   1167 
   1168 # crypto::sha256 (+any)
   1169 stdlib_crypto_sha256_any_srcs = \
   1170 	$(STDLIB)/crypto/sha256/sha256.ha
   1171 
   1172 $(HARECACHE)/crypto/sha256/crypto_sha256-any.ssa: $(stdlib_crypto_sha256_any_srcs) $(stdlib_rt) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_endian_$(PLATFORM))
   1173 	@printf 'HAREC \t$@\n'
   1174 	@mkdir -p $(HARECACHE)/crypto/sha256
   1175 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::sha256 \
   1176 		-t$(HARECACHE)/crypto/sha256/crypto_sha256.td $(stdlib_crypto_sha256_any_srcs)
   1177 
   1178 # crypto::sha512 (+any)
   1179 stdlib_crypto_sha512_any_srcs = \
   1180 	$(STDLIB)/crypto/sha512/sha512.ha
   1181 
   1182 $(HARECACHE)/crypto/sha512/crypto_sha512-any.ssa: $(stdlib_crypto_sha512_any_srcs) $(stdlib_rt) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_endian_$(PLATFORM))
   1183 	@printf 'HAREC \t$@\n'
   1184 	@mkdir -p $(HARECACHE)/crypto/sha512
   1185 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::sha512 \
   1186 		-t$(HARECACHE)/crypto/sha512/crypto_sha512.td $(stdlib_crypto_sha512_any_srcs)
   1187 
   1188 # crypto::curve25519 (+any)
   1189 stdlib_crypto_curve25519_any_srcs = \
   1190 	$(STDLIB)/crypto/curve25519/curve25519.ha
   1191 
   1192 $(HARECACHE)/crypto/curve25519/crypto_curve25519-any.ssa: $(stdlib_crypto_curve25519_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM))
   1193 	@printf 'HAREC \t$@\n'
   1194 	@mkdir -p $(HARECACHE)/crypto/curve25519
   1195 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::curve25519 \
   1196 		-t$(HARECACHE)/crypto/curve25519/crypto_curve25519.td $(stdlib_crypto_curve25519_any_srcs)
   1197 
   1198 # crypto::ed25519 (+any)
   1199 stdlib_crypto_ed25519_any_srcs = \
   1200 	$(STDLIB)/crypto/ed25519/ed25519.ha \
   1201 	$(STDLIB)/crypto/ed25519/edwards25519.ha
   1202 
   1203 $(HARECACHE)/crypto/ed25519/crypto_ed25519-any.ssa: $(stdlib_crypto_ed25519_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_sha512_$(PLATFORM)) $(stdlib_hash_$(PLATFORM))
   1204 	@printf 'HAREC \t$@\n'
   1205 	@mkdir -p $(HARECACHE)/crypto/ed25519
   1206 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::ed25519 \
   1207 		-t$(HARECACHE)/crypto/ed25519/crypto_ed25519.td $(stdlib_crypto_ed25519_any_srcs)
   1208 
   1209 # crypto::x25519 (+any)
   1210 stdlib_crypto_x25519_any_srcs = \
   1211 	$(STDLIB)/crypto/x25519/x25519.ha
   1212 
   1213 $(HARECACHE)/crypto/x25519/crypto_x25519-any.ssa: $(stdlib_crypto_x25519_any_srcs) $(stdlib_rt) $(stdlib_crypto_curve25519_$(PLATFORM))
   1214 	@printf 'HAREC \t$@\n'
   1215 	@mkdir -p $(HARECACHE)/crypto/x25519
   1216 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::x25519 \
   1217 		-t$(HARECACHE)/crypto/x25519/crypto_x25519.td $(stdlib_crypto_x25519_any_srcs)
   1218 
   1219 # dirs (+any)
   1220 stdlib_dirs_any_srcs = \
   1221 	$(STDLIB)/dirs/xdg.ha
   1222 
   1223 $(HARECACHE)/dirs/dirs-any.ssa: $(stdlib_dirs_any_srcs) $(stdlib_rt) $(stdlib_errors_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_path_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_unix_$(PLATFORM))
   1224 	@printf 'HAREC \t$@\n'
   1225 	@mkdir -p $(HARECACHE)/dirs
   1226 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ndirs \
   1227 		-t$(HARECACHE)/dirs/dirs.td $(stdlib_dirs_any_srcs)
   1228 
   1229 # encoding::base64 (+any)
   1230 stdlib_encoding_base64_any_srcs = \
   1231 	$(STDLIB)/encoding/base64/base64.ha
   1232 
   1233 $(HARECACHE)/encoding/base64/encoding_base64-any.ssa: $(stdlib_encoding_base64_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   1234 	@printf 'HAREC \t$@\n'
   1235 	@mkdir -p $(HARECACHE)/encoding/base64
   1236 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nencoding::base64 \
   1237 		-t$(HARECACHE)/encoding/base64/encoding_base64.td $(stdlib_encoding_base64_any_srcs)
   1238 
   1239 # encoding::base32 (+any)
   1240 stdlib_encoding_base32_any_srcs = \
   1241 	$(STDLIB)/encoding/base32/base32.ha
   1242 
   1243 $(HARECACHE)/encoding/base32/encoding_base32-any.ssa: $(stdlib_encoding_base32_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   1244 	@printf 'HAREC \t$@\n'
   1245 	@mkdir -p $(HARECACHE)/encoding/base32
   1246 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nencoding::base32 \
   1247 		-t$(HARECACHE)/encoding/base32/encoding_base32.td $(stdlib_encoding_base32_any_srcs)
   1248 
   1249 # encoding::hex (+any)
   1250 stdlib_encoding_hex_any_srcs = \
   1251 	$(STDLIB)/encoding/hex/hex.ha
   1252 
   1253 $(HARECACHE)/encoding/hex/encoding_hex-any.ssa: $(stdlib_encoding_hex_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   1254 	@printf 'HAREC \t$@\n'
   1255 	@mkdir -p $(HARECACHE)/encoding/hex
   1256 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nencoding::hex \
   1257 		-t$(HARECACHE)/encoding/hex/encoding_hex.td $(stdlib_encoding_hex_any_srcs)
   1258 
   1259 # encoding::pem (+any)
   1260 stdlib_encoding_pem_any_srcs = \
   1261 	$(STDLIB)/encoding/pem/pem.ha
   1262 
   1263 $(HARECACHE)/encoding/pem/encoding_pem-any.ssa: $(stdlib_encoding_pem_any_srcs) $(stdlib_rt) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_encoding_base64_$(PLATFORM)) $(stdlib_ascii_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM))
   1264 	@printf 'HAREC \t$@\n'
   1265 	@mkdir -p $(HARECACHE)/encoding/pem
   1266 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nencoding::pem \
   1267 		-t$(HARECACHE)/encoding/pem/encoding_pem.td $(stdlib_encoding_pem_any_srcs)
   1268 
   1269 # encoding::utf8 (+any)
   1270 stdlib_encoding_utf8_any_srcs = \
   1271 	$(STDLIB)/encoding/utf8/decode.ha \
   1272 	$(STDLIB)/encoding/utf8/decodetable.ha \
   1273 	$(STDLIB)/encoding/utf8/encode.ha \
   1274 	$(STDLIB)/encoding/utf8/rune.ha
   1275 
   1276 $(HARECACHE)/encoding/utf8/encoding_utf8-any.ssa: $(stdlib_encoding_utf8_any_srcs) $(stdlib_rt) $(stdlib_types_$(PLATFORM))
   1277 	@printf 'HAREC \t$@\n'
   1278 	@mkdir -p $(HARECACHE)/encoding/utf8
   1279 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nencoding::utf8 \
   1280 		-t$(HARECACHE)/encoding/utf8/encoding_utf8.td $(stdlib_encoding_utf8_any_srcs)
   1281 
   1282 # endian (+any)
   1283 stdlib_endian_any_srcs = \
   1284 	$(STDLIB)/endian/big.ha \
   1285 	$(STDLIB)/endian/network.ha \
   1286 	$(STDLIB)/endian/little.ha \
   1287 	$(STDLIB)/endian/endian.ha \
   1288 	$(STDLIB)/endian/host+$(ARCH).ha
   1289 
   1290 $(HARECACHE)/endian/endian-any.ssa: $(stdlib_endian_any_srcs) $(stdlib_rt)
   1291 	@printf 'HAREC \t$@\n'
   1292 	@mkdir -p $(HARECACHE)/endian
   1293 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nendian \
   1294 		-t$(HARECACHE)/endian/endian.td $(stdlib_endian_any_srcs)
   1295 
   1296 # errors (+any)
   1297 stdlib_errors_any_srcs = \
   1298 	$(STDLIB)/errors/common.ha \
   1299 	$(STDLIB)/errors/opaque.ha \
   1300 	$(STDLIB)/errors/string.ha \
   1301 	$(STDLIB)/errors/rt.ha
   1302 
   1303 $(HARECACHE)/errors/errors-any.ssa: $(stdlib_errors_any_srcs) $(stdlib_rt) $(stdlib_rt_$(PLATFORM))
   1304 	@printf 'HAREC \t$@\n'
   1305 	@mkdir -p $(HARECACHE)/errors
   1306 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nerrors \
   1307 		-t$(HARECACHE)/errors/errors.td $(stdlib_errors_any_srcs)
   1308 
   1309 # fmt (+any)
   1310 stdlib_fmt_any_srcs = \
   1311 	$(STDLIB)/fmt/fmt.ha
   1312 
   1313 $(HARECACHE)/fmt/fmt-any.ssa: $(stdlib_fmt_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_types_$(PLATFORM))
   1314 	@printf 'HAREC \t$@\n'
   1315 	@mkdir -p $(HARECACHE)/fmt
   1316 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nfmt \
   1317 		-t$(HARECACHE)/fmt/fmt.td $(stdlib_fmt_any_srcs)
   1318 
   1319 # fnmatch (+any)
   1320 stdlib_fnmatch_any_srcs = \
   1321 	$(STDLIB)/fnmatch/fnmatch.ha
   1322 
   1323 $(HARECACHE)/fnmatch/fnmatch-any.ssa: $(stdlib_fnmatch_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_sort_$(PLATFORM))
   1324 	@printf 'HAREC \t$@\n'
   1325 	@mkdir -p $(HARECACHE)/fnmatch
   1326 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nfnmatch \
   1327 		-t$(HARECACHE)/fnmatch/fnmatch.td $(stdlib_fnmatch_any_srcs)
   1328 
   1329 # format::elf (+any)
   1330 stdlib_format_elf_any_srcs = \
   1331 	$(STDLIB)/format/elf/arch+$(ARCH).ha \
   1332 	$(STDLIB)/format/elf/platform+$(PLATFORM).ha \
   1333 	$(STDLIB)/format/elf/types.ha
   1334 
   1335 $(HARECACHE)/format/elf/format_elf-any.ssa: $(stdlib_format_elf_any_srcs) $(stdlib_rt)
   1336 	@printf 'HAREC \t$@\n'
   1337 	@mkdir -p $(HARECACHE)/format/elf
   1338 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nformat::elf \
   1339 		-t$(HARECACHE)/format/elf/format_elf.td $(stdlib_format_elf_any_srcs)
   1340 
   1341 # format::ini (+any)
   1342 stdlib_format_ini_any_srcs = \
   1343 	$(STDLIB)/format/ini/scan.ha \
   1344 	$(STDLIB)/format/ini/types.ha
   1345 
   1346 $(HARECACHE)/format/ini/format_ini-any.ssa: $(stdlib_format_ini_any_srcs) $(stdlib_rt) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   1347 	@printf 'HAREC \t$@\n'
   1348 	@mkdir -p $(HARECACHE)/format/ini
   1349 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nformat::ini \
   1350 		-t$(HARECACHE)/format/ini/format_ini.td $(stdlib_format_ini_any_srcs)
   1351 
   1352 # format::tar (+any)
   1353 stdlib_format_tar_any_srcs = \
   1354 	$(STDLIB)/format/tar/types.ha \
   1355 	$(STDLIB)/format/tar/reader.ha
   1356 
   1357 $(HARECACHE)/format/tar/format_tar-any.ssa: $(stdlib_format_tar_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_types_c_$(PLATFORM))
   1358 	@printf 'HAREC \t$@\n'
   1359 	@mkdir -p $(HARECACHE)/format/tar
   1360 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nformat::tar \
   1361 		-t$(HARECACHE)/format/tar/format_tar.td $(stdlib_format_tar_any_srcs)
   1362 
   1363 # fs (+any)
   1364 stdlib_fs_any_srcs = \
   1365 	$(STDLIB)/fs/types.ha \
   1366 	$(STDLIB)/fs/fs.ha \
   1367 	$(STDLIB)/fs/util.ha
   1368 
   1369 $(HARECACHE)/fs/fs-any.ssa: $(stdlib_fs_any_srcs) $(stdlib_rt) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_path_$(PLATFORM)) $(stdlib_time_$(PLATFORM)) $(stdlib_errors_$(PLATFORM))
   1370 	@printf 'HAREC \t$@\n'
   1371 	@mkdir -p $(HARECACHE)/fs
   1372 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nfs \
   1373 		-t$(HARECACHE)/fs/fs.td $(stdlib_fs_any_srcs)
   1374 
   1375 # getopt (+any)
   1376 stdlib_getopt_any_srcs = \
   1377 	$(STDLIB)/getopt/getopts.ha
   1378 
   1379 $(HARECACHE)/getopt/getopt-any.ssa: $(stdlib_getopt_any_srcs) $(stdlib_rt) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   1380 	@printf 'HAREC \t$@\n'
   1381 	@mkdir -p $(HARECACHE)/getopt
   1382 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ngetopt \
   1383 		-t$(HARECACHE)/getopt/getopt.td $(stdlib_getopt_any_srcs)
   1384 
   1385 # glob (+any)
   1386 stdlib_glob_any_srcs = \
   1387 	$(STDLIB)/glob/glob.ha
   1388 
   1389 $(HARECACHE)/glob/glob-any.ssa: $(stdlib_glob_any_srcs) $(stdlib_rt) $(stdlib_fnmatch_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_sort_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   1390 	@printf 'HAREC \t$@\n'
   1391 	@mkdir -p $(HARECACHE)/glob
   1392 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nglob \
   1393 		-t$(HARECACHE)/glob/glob.td $(stdlib_glob_any_srcs)
   1394 
   1395 # hare::ast (+any)
   1396 stdlib_hare_ast_any_srcs = \
   1397 	$(STDLIB)/hare/ast/decl.ha \
   1398 	$(STDLIB)/hare/ast/expr.ha \
   1399 	$(STDLIB)/hare/ast/ident.ha \
   1400 	$(STDLIB)/hare/ast/import.ha \
   1401 	$(STDLIB)/hare/ast/type.ha \
   1402 	$(STDLIB)/hare/ast/unit.ha
   1403 
   1404 $(HARECACHE)/hare/ast/hare_ast-any.ssa: $(stdlib_hare_ast_any_srcs) $(stdlib_rt) $(stdlib_hare_lex_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   1405 	@printf 'HAREC \t$@\n'
   1406 	@mkdir -p $(HARECACHE)/hare/ast
   1407 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhare::ast \
   1408 		-t$(HARECACHE)/hare/ast/hare_ast.td $(stdlib_hare_ast_any_srcs)
   1409 
   1410 # hare::lex (+any)
   1411 stdlib_hare_lex_any_srcs = \
   1412 	$(STDLIB)/hare/lex/token.ha \
   1413 	$(STDLIB)/hare/lex/lex.ha
   1414 
   1415 $(HARECACHE)/hare/lex/hare_lex-any.ssa: $(stdlib_hare_lex_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_sort_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_path_$(PLATFORM))
   1416 	@printf 'HAREC \t$@\n'
   1417 	@mkdir -p $(HARECACHE)/hare/lex
   1418 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhare::lex \
   1419 		-t$(HARECACHE)/hare/lex/hare_lex.td $(stdlib_hare_lex_any_srcs)
   1420 
   1421 # hare::module (+any)
   1422 stdlib_hare_module_any_srcs = \
   1423 	$(STDLIB)/hare/module/types.ha \
   1424 	$(STDLIB)/hare/module/context.ha \
   1425 	$(STDLIB)/hare/module/scan.ha \
   1426 	$(STDLIB)/hare/module/manifest.ha \
   1427 	$(STDLIB)/hare/module/walk.ha
   1428 
   1429 $(HARECACHE)/hare/module/hare_module-any.ssa: $(stdlib_hare_module_any_srcs) $(stdlib_rt) $(stdlib_hare_ast_$(PLATFORM)) $(stdlib_hare_lex_$(PLATFORM)) $(stdlib_hare_parse_$(PLATFORM)) $(stdlib_hare_unparse_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_crypto_sha256_$(PLATFORM)) $(stdlib_dirs_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_ascii_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_time_$(PLATFORM)) $(stdlib_bufio_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_encoding_hex_$(PLATFORM)) $(stdlib_sort_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_temp_$(PLATFORM)) $(stdlib_path_$(PLATFORM))
   1430 	@printf 'HAREC \t$@\n'
   1431 	@mkdir -p $(HARECACHE)/hare/module
   1432 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhare::module \
   1433 		-t$(HARECACHE)/hare/module/hare_module.td $(stdlib_hare_module_any_srcs)
   1434 
   1435 # hare::parse (+any)
   1436 stdlib_hare_parse_any_srcs = \
   1437 	$(STDLIB)/hare/parse/decl.ha \
   1438 	$(STDLIB)/hare/parse/expr.ha \
   1439 	$(STDLIB)/hare/parse/ident.ha \
   1440 	$(STDLIB)/hare/parse/import.ha \
   1441 	$(STDLIB)/hare/parse/parse.ha \
   1442 	$(STDLIB)/hare/parse/type.ha \
   1443 	$(STDLIB)/hare/parse/unit.ha
   1444 
   1445 $(HARECACHE)/hare/parse/hare_parse-any.ssa: $(stdlib_hare_parse_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_hare_ast_$(PLATFORM)) $(stdlib_hare_lex_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_types_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_math_$(PLATFORM))
   1446 	@printf 'HAREC \t$@\n'
   1447 	@mkdir -p $(HARECACHE)/hare/parse
   1448 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhare::parse \
   1449 		-t$(HARECACHE)/hare/parse/hare_parse.td $(stdlib_hare_parse_any_srcs)
   1450 
   1451 # hare::types (+any)
   1452 stdlib_hare_types_any_srcs = \
   1453 	$(STDLIB)/hare/types/+$(ARCH)/writesize.ha \
   1454 	$(STDLIB)/hare/types/arch.ha \
   1455 	$(STDLIB)/hare/types/builtins.ha \
   1456 	$(STDLIB)/hare/types/class.ha \
   1457 	$(STDLIB)/hare/types/hash.ha \
   1458 	$(STDLIB)/hare/types/lookup.ha \
   1459 	$(STDLIB)/hare/types/store.ha \
   1460 	$(STDLIB)/hare/types/types.ha
   1461 
   1462 $(HARECACHE)/hare/types/hare_types-any.ssa: $(stdlib_hare_types_any_srcs) $(stdlib_rt) $(stdlib_hare_ast_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_hash_fnv_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_sort_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM))
   1463 	@printf 'HAREC \t$@\n'
   1464 	@mkdir -p $(HARECACHE)/hare/types
   1465 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhare::types \
   1466 		-t$(HARECACHE)/hare/types/hare_types.td $(stdlib_hare_types_any_srcs)
   1467 
   1468 # hare::unit (+any)
   1469 stdlib_hare_unit_any_srcs = \
   1470 	$(STDLIB)/hare/unit/check.ha \
   1471 	$(STDLIB)/hare/unit/context.ha \
   1472 	$(STDLIB)/hare/unit/errors.ha \
   1473 	$(STDLIB)/hare/unit/expr.ha \
   1474 	$(STDLIB)/hare/unit/process.ha \
   1475 	$(STDLIB)/hare/unit/scan.ha \
   1476 	$(STDLIB)/hare/unit/scope.ha \
   1477 	$(STDLIB)/hare/unit/unit.ha
   1478 
   1479 $(HARECACHE)/hare/unit/hare_unit-any.ssa: $(stdlib_hare_unit_any_srcs) $(stdlib_rt) $(stdlib_hare_ast_$(PLATFORM)) $(stdlib_hare_types_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_hash_fnv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_hare_lex_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   1480 	@printf 'HAREC \t$@\n'
   1481 	@mkdir -p $(HARECACHE)/hare/unit
   1482 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhare::unit \
   1483 		-t$(HARECACHE)/hare/unit/hare_unit.td $(stdlib_hare_unit_any_srcs)
   1484 
   1485 # hare::unparse (+any)
   1486 stdlib_hare_unparse_any_srcs = \
   1487 	$(STDLIB)/hare/unparse/expr.ha \
   1488 	$(STDLIB)/hare/unparse/decl.ha \
   1489 	$(STDLIB)/hare/unparse/ident.ha \
   1490 	$(STDLIB)/hare/unparse/import.ha \
   1491 	$(STDLIB)/hare/unparse/type.ha \
   1492 	$(STDLIB)/hare/unparse/unit.ha \
   1493 	$(STDLIB)/hare/unparse/util.ha
   1494 
   1495 $(HARECACHE)/hare/unparse/hare_unparse-any.ssa: $(stdlib_hare_unparse_any_srcs) $(stdlib_rt) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_hare_ast_$(PLATFORM)) $(stdlib_hare_lex_$(PLATFORM))
   1496 	@printf 'HAREC \t$@\n'
   1497 	@mkdir -p $(HARECACHE)/hare/unparse
   1498 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhare::unparse \
   1499 		-t$(HARECACHE)/hare/unparse/hare_unparse.td $(stdlib_hare_unparse_any_srcs)
   1500 
   1501 # hash (+any)
   1502 stdlib_hash_any_srcs = \
   1503 	$(STDLIB)/hash/hash.ha
   1504 
   1505 $(HARECACHE)/hash/hash-any.ssa: $(stdlib_hash_any_srcs) $(stdlib_rt) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM))
   1506 	@printf 'HAREC \t$@\n'
   1507 	@mkdir -p $(HARECACHE)/hash
   1508 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhash \
   1509 		-t$(HARECACHE)/hash/hash.td $(stdlib_hash_any_srcs)
   1510 
   1511 # hash::adler32 (+any)
   1512 stdlib_hash_adler32_any_srcs = \
   1513 	$(STDLIB)/hash/adler32/adler32.ha
   1514 
   1515 $(HARECACHE)/hash/adler32/hash_adler32-any.ssa: $(stdlib_hash_adler32_any_srcs) $(stdlib_rt) $(stdlib_endian_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   1516 	@printf 'HAREC \t$@\n'
   1517 	@mkdir -p $(HARECACHE)/hash/adler32
   1518 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhash::adler32 \
   1519 		-t$(HARECACHE)/hash/adler32/hash_adler32.td $(stdlib_hash_adler32_any_srcs)
   1520 
   1521 # hash::crc16 (+any)
   1522 stdlib_hash_crc16_any_srcs = \
   1523 	$(STDLIB)/hash/crc16/crc16.ha
   1524 
   1525 $(HARECACHE)/hash/crc16/hash_crc16-any.ssa: $(stdlib_hash_crc16_any_srcs) $(stdlib_rt) $(stdlib_endian_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   1526 	@printf 'HAREC \t$@\n'
   1527 	@mkdir -p $(HARECACHE)/hash/crc16
   1528 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhash::crc16 \
   1529 		-t$(HARECACHE)/hash/crc16/hash_crc16.td $(stdlib_hash_crc16_any_srcs)
   1530 
   1531 # hash::crc32 (+any)
   1532 stdlib_hash_crc32_any_srcs = \
   1533 	$(STDLIB)/hash/crc32/crc32.ha
   1534 
   1535 $(HARECACHE)/hash/crc32/hash_crc32-any.ssa: $(stdlib_hash_crc32_any_srcs) $(stdlib_rt) $(stdlib_endian_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   1536 	@printf 'HAREC \t$@\n'
   1537 	@mkdir -p $(HARECACHE)/hash/crc32
   1538 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhash::crc32 \
   1539 		-t$(HARECACHE)/hash/crc32/hash_crc32.td $(stdlib_hash_crc32_any_srcs)
   1540 
   1541 # hash::crc64 (+any)
   1542 stdlib_hash_crc64_any_srcs = \
   1543 	$(STDLIB)/hash/crc64/crc64.ha
   1544 
   1545 $(HARECACHE)/hash/crc64/hash_crc64-any.ssa: $(stdlib_hash_crc64_any_srcs) $(stdlib_rt) $(stdlib_endian_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   1546 	@printf 'HAREC \t$@\n'
   1547 	@mkdir -p $(HARECACHE)/hash/crc64
   1548 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhash::crc64 \
   1549 		-t$(HARECACHE)/hash/crc64/hash_crc64.td $(stdlib_hash_crc64_any_srcs)
   1550 
   1551 # hash::fnv (+any)
   1552 stdlib_hash_fnv_any_srcs = \
   1553 	$(STDLIB)/hash/fnv/+$(ARCH).ha \
   1554 	$(STDLIB)/hash/fnv/fnv.ha
   1555 
   1556 $(HARECACHE)/hash/fnv/hash_fnv-any.ssa: $(stdlib_hash_fnv_any_srcs) $(stdlib_rt) $(stdlib_endian_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   1557 	@printf 'HAREC \t$@\n'
   1558 	@mkdir -p $(HARECACHE)/hash/fnv
   1559 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhash::fnv \
   1560 		-t$(HARECACHE)/hash/fnv/hash_fnv.td $(stdlib_hash_fnv_any_srcs)
   1561 
   1562 # hash::siphash (+any)
   1563 stdlib_hash_siphash_any_srcs = \
   1564 	$(STDLIB)/hash/siphash/siphash.ha
   1565 
   1566 $(HARECACHE)/hash/siphash/hash_siphash-any.ssa: $(stdlib_hash_siphash_any_srcs) $(stdlib_rt) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM))
   1567 	@printf 'HAREC \t$@\n'
   1568 	@mkdir -p $(HARECACHE)/hash/siphash
   1569 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nhash::siphash \
   1570 		-t$(HARECACHE)/hash/siphash/hash_siphash.td $(stdlib_hash_siphash_any_srcs)
   1571 
   1572 # io (+linux)
   1573 stdlib_io_linux_srcs = \
   1574 	$(STDLIB)/io/arch+$(ARCH).ha \
   1575 	$(STDLIB)/io/+linux/mmap.ha \
   1576 	$(STDLIB)/io/+linux/platform_file.ha \
   1577 	$(STDLIB)/io/+linux/vector.ha \
   1578 	$(STDLIB)/io/copy.ha \
   1579 	$(STDLIB)/io/drain.ha \
   1580 	$(STDLIB)/io/empty.ha \
   1581 	$(STDLIB)/io/file.ha \
   1582 	$(STDLIB)/io/handle.ha \
   1583 	$(STDLIB)/io/limit.ha \
   1584 	$(STDLIB)/io/stream.ha \
   1585 	$(STDLIB)/io/tee.ha \
   1586 	$(STDLIB)/io/types.ha \
   1587 	$(STDLIB)/io/util.ha \
   1588 	$(STDLIB)/io/zero.ha
   1589 
   1590 # io (+freebsd)
   1591 stdlib_io_freebsd_srcs = \
   1592 	$(STDLIB)/io/arch+$(ARCH).ha \
   1593 	$(STDLIB)/io/+freebsd/mmap.ha \
   1594 	$(STDLIB)/io/+freebsd/platform_file.ha \
   1595 	$(STDLIB)/io/+freebsd/vector.ha \
   1596 	$(STDLIB)/io/copy.ha \
   1597 	$(STDLIB)/io/drain.ha \
   1598 	$(STDLIB)/io/empty.ha \
   1599 	$(STDLIB)/io/file.ha \
   1600 	$(STDLIB)/io/handle.ha \
   1601 	$(STDLIB)/io/limit.ha \
   1602 	$(STDLIB)/io/stream.ha \
   1603 	$(STDLIB)/io/tee.ha \
   1604 	$(STDLIB)/io/types.ha \
   1605 	$(STDLIB)/io/util.ha \
   1606 	$(STDLIB)/io/zero.ha
   1607 
   1608 $(HARECACHE)/io/io-linux.ssa: $(stdlib_io_linux_srcs) $(stdlib_rt) $(stdlib_strings_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_rt_$(PLATFORM))
   1609 	@printf 'HAREC \t$@\n'
   1610 	@mkdir -p $(HARECACHE)/io
   1611 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nio \
   1612 		-t$(HARECACHE)/io/io.td $(stdlib_io_linux_srcs)
   1613 
   1614 $(HARECACHE)/io/io-freebsd.ssa: $(stdlib_io_freebsd_srcs) $(stdlib_rt) $(stdlib_strings_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_rt_$(PLATFORM))
   1615 	@printf 'HAREC \t$@\n'
   1616 	@mkdir -p $(HARECACHE)/io
   1617 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nio \
   1618 		-t$(HARECACHE)/io/io.td $(stdlib_io_freebsd_srcs)
   1619 
   1620 # linux (+linux)
   1621 stdlib_linux_linux_srcs = \
   1622 	$(STDLIB)/linux/start.ha \
   1623 	$(STDLIB)/linux/env.ha
   1624 
   1625 $(HARECACHE)/linux/linux-linux.ssa: $(stdlib_linux_linux_srcs) $(stdlib_rt) $(stdlib_format_elf_$(PLATFORM)) $(stdlib_rt_$(PLATFORM))
   1626 	@printf 'HAREC \t$@\n'
   1627 	@mkdir -p $(HARECACHE)/linux
   1628 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nlinux \
   1629 		-t$(HARECACHE)/linux/linux.td $(stdlib_linux_linux_srcs)
   1630 
   1631 # linux::keyctl (+linux)
   1632 stdlib_linux_keyctl_linux_srcs = \
   1633 	$(STDLIB)/linux/keyctl/keyctl.ha \
   1634 	$(STDLIB)/linux/keyctl/types.ha
   1635 
   1636 $(HARECACHE)/linux/keyctl/linux_keyctl-linux.ssa: $(stdlib_linux_keyctl_linux_srcs) $(stdlib_rt) $(stdlib_rt_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_types_c_$(PLATFORM))
   1637 	@printf 'HAREC \t$@\n'
   1638 	@mkdir -p $(HARECACHE)/linux/keyctl
   1639 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nlinux::keyctl \
   1640 		-t$(HARECACHE)/linux/keyctl/linux_keyctl.td $(stdlib_linux_keyctl_linux_srcs)
   1641 
   1642 # linux::timerfd (+linux)
   1643 stdlib_linux_timerfd_linux_srcs = \
   1644 	$(STDLIB)/linux/timerfd/timerfd.ha
   1645 
   1646 $(HARECACHE)/linux/timerfd/linux_timerfd-linux.ssa: $(stdlib_linux_timerfd_linux_srcs) $(stdlib_rt) $(stdlib_errors_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_time_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_endian_$(PLATFORM))
   1647 	@printf 'HAREC \t$@\n'
   1648 	@mkdir -p $(HARECACHE)/linux/timerfd
   1649 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nlinux::timerfd \
   1650 		-t$(HARECACHE)/linux/timerfd/linux_timerfd.td $(stdlib_linux_timerfd_linux_srcs)
   1651 
   1652 # linux::vdso (+linux)
   1653 stdlib_linux_vdso_linux_srcs = \
   1654 	$(STDLIB)/linux/vdso/vdso.ha
   1655 
   1656 $(HARECACHE)/linux/vdso/linux_vdso-linux.ssa: $(stdlib_linux_vdso_linux_srcs) $(stdlib_rt) $(stdlib_linux_$(PLATFORM)) $(stdlib_format_elf_$(PLATFORM)) $(stdlib_types_c_$(PLATFORM))
   1657 	@printf 'HAREC \t$@\n'
   1658 	@mkdir -p $(HARECACHE)/linux/vdso
   1659 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nlinux::vdso \
   1660 		-t$(HARECACHE)/linux/vdso/linux_vdso.td $(stdlib_linux_vdso_linux_srcs)
   1661 
   1662 # log (+linux)
   1663 stdlib_log_linux_srcs = \
   1664 	$(STDLIB)/log/logger.ha \
   1665 	$(STDLIB)/log/global.ha \
   1666 	$(STDLIB)/log/funcs.ha \
   1667 	$(STDLIB)/log/silent.ha
   1668 
   1669 $(HARECACHE)/log/log-linux.ssa: $(stdlib_log_linux_srcs) $(stdlib_rt) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_time_date_$(PLATFORM))
   1670 	@printf 'HAREC \t$@\n'
   1671 	@mkdir -p $(HARECACHE)/log
   1672 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nlog \
   1673 		-t$(HARECACHE)/log/log.td $(stdlib_log_linux_srcs)
   1674 
   1675 # log (+freebsd)
   1676 stdlib_log_freebsd_srcs = \
   1677 	$(STDLIB)/log/logger.ha \
   1678 	$(STDLIB)/log/global.ha \
   1679 	$(STDLIB)/log/funcs.ha \
   1680 	$(STDLIB)/log/silent.ha
   1681 
   1682 $(HARECACHE)/log/log-freebsd.ssa: $(stdlib_log_freebsd_srcs) $(stdlib_rt) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_time_date_$(PLATFORM))
   1683 	@printf 'HAREC \t$@\n'
   1684 	@mkdir -p $(HARECACHE)/log
   1685 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nlog \
   1686 		-t$(HARECACHE)/log/log.td $(stdlib_log_freebsd_srcs)
   1687 
   1688 # math (+any)
   1689 stdlib_math_any_srcs = \
   1690 	$(STDLIB)/math/math.ha \
   1691 	$(STDLIB)/math/fenv_func.ha \
   1692 	$(STDLIB)/math/fenv+$(ARCH).ha \
   1693 	$(STDLIB)/math/floats.ha \
   1694 	$(STDLIB)/math/ints.ha \
   1695 	$(STDLIB)/math/uints.ha \
   1696 	$(STDLIB)/math/trig.ha
   1697 
   1698 $(HARECACHE)/math/math-any.ssa: $(stdlib_math_any_srcs) $(stdlib_rt) $(stdlib_types_$(PLATFORM)) $(stdlib_rt_$(PLATFORM))
   1699 	@printf 'HAREC \t$@\n'
   1700 	@mkdir -p $(HARECACHE)/math
   1701 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nmath \
   1702 		-t$(HARECACHE)/math/math.td $(stdlib_math_any_srcs)
   1703 
   1704 # math::checked (+any)
   1705 stdlib_math_checked_any_srcs = \
   1706 	$(STDLIB)/math/checked/checked.ha
   1707 
   1708 $(HARECACHE)/math/checked/math_checked-any.ssa: $(stdlib_math_checked_any_srcs) $(stdlib_rt) $(stdlib_math_$(PLATFORM))
   1709 	@printf 'HAREC \t$@\n'
   1710 	@mkdir -p $(HARECACHE)/math/checked
   1711 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nmath::checked \
   1712 		-t$(HARECACHE)/math/checked/math_checked.td $(stdlib_math_checked_any_srcs)
   1713 
   1714 # math::complex (+any)
   1715 stdlib_math_complex_any_srcs = \
   1716 	$(STDLIB)/math/complex/complex.ha
   1717 
   1718 $(HARECACHE)/math/complex/math_complex-any.ssa: $(stdlib_math_complex_any_srcs) $(stdlib_rt) $(stdlib_math_$(PLATFORM))
   1719 	@printf 'HAREC \t$@\n'
   1720 	@mkdir -p $(HARECACHE)/math/complex
   1721 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nmath::complex \
   1722 		-t$(HARECACHE)/math/complex/math_complex.td $(stdlib_math_complex_any_srcs)
   1723 
   1724 # math::random (+any)
   1725 stdlib_math_random_any_srcs = \
   1726 	$(STDLIB)/math/random/random.ha
   1727 
   1728 $(HARECACHE)/math/random/math_random-any.ssa: $(stdlib_math_random_any_srcs) $(stdlib_rt)
   1729 	@printf 'HAREC \t$@\n'
   1730 	@mkdir -p $(HARECACHE)/math/random
   1731 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nmath::random \
   1732 		-t$(HARECACHE)/math/random/math_random.td $(stdlib_math_random_any_srcs)
   1733 
   1734 # memio (+any)
   1735 stdlib_memio_any_srcs = \
   1736 	$(STDLIB)/memio/stream.ha \
   1737 	$(STDLIB)/memio/ops.ha
   1738 
   1739 $(HARECACHE)/memio/memio-any.ssa: $(stdlib_memio_any_srcs) $(stdlib_rt) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM))
   1740 	@printf 'HAREC \t$@\n'
   1741 	@mkdir -p $(HARECACHE)/memio
   1742 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nmemio \
   1743 		-t$(HARECACHE)/memio/memio.td $(stdlib_memio_any_srcs)
   1744 
   1745 # net (+linux)
   1746 stdlib_net_linux_srcs = \
   1747 	$(STDLIB)/net/+linux.ha \
   1748 	$(STDLIB)/net/errors.ha \
   1749 	$(STDLIB)/net/msg.ha \
   1750 	$(STDLIB)/net/types.ha
   1751 
   1752 $(HARECACHE)/net/net-linux.ssa: $(stdlib_net_linux_srcs) $(stdlib_rt) $(stdlib_io_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM))
   1753 	@printf 'HAREC \t$@\n'
   1754 	@mkdir -p $(HARECACHE)/net
   1755 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet \
   1756 		-t$(HARECACHE)/net/net.td $(stdlib_net_linux_srcs)
   1757 
   1758 # net (+freebsd)
   1759 stdlib_net_freebsd_srcs = \
   1760 	$(STDLIB)/net/+freebsd.ha \
   1761 	$(STDLIB)/net/errors.ha \
   1762 	$(STDLIB)/net/msg.ha \
   1763 	$(STDLIB)/net/types.ha
   1764 
   1765 $(HARECACHE)/net/net-freebsd.ssa: $(stdlib_net_freebsd_srcs) $(stdlib_rt) $(stdlib_io_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM))
   1766 	@printf 'HAREC \t$@\n'
   1767 	@mkdir -p $(HARECACHE)/net
   1768 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet \
   1769 		-t$(HARECACHE)/net/net.td $(stdlib_net_freebsd_srcs)
   1770 
   1771 # net::dial (+any)
   1772 stdlib_net_dial_any_srcs = \
   1773 	$(STDLIB)/net/dial/registry.ha \
   1774 	$(STDLIB)/net/dial/dial.ha \
   1775 	$(STDLIB)/net/dial/ip.ha \
   1776 	$(STDLIB)/net/dial/resolve.ha
   1777 
   1778 $(HARECACHE)/net/dial/net_dial-any.ssa: $(stdlib_net_dial_any_srcs) $(stdlib_rt) $(stdlib_net_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_net_tcp_$(PLATFORM)) $(stdlib_net_udp_$(PLATFORM)) $(stdlib_net_dns_$(PLATFORM)) $(stdlib_net_uri_$(PLATFORM)) $(stdlib_crypto_random_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_unix_hosts_$(PLATFORM))
   1779 	@printf 'HAREC \t$@\n'
   1780 	@mkdir -p $(HARECACHE)/net/dial
   1781 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::dial \
   1782 		-t$(HARECACHE)/net/dial/net_dial.td $(stdlib_net_dial_any_srcs)
   1783 
   1784 # net::dns (+any)
   1785 stdlib_net_dns_any_srcs = \
   1786 	$(STDLIB)/net/dns/decode.ha \
   1787 	$(STDLIB)/net/dns/error.ha \
   1788 	$(STDLIB)/net/dns/encode.ha \
   1789 	$(STDLIB)/net/dns/query.ha \
   1790 	$(STDLIB)/net/dns/strdomain.ha \
   1791 	$(STDLIB)/net/dns/types.ha
   1792 
   1793 $(HARECACHE)/net/dns/net_dns-any.ssa: $(stdlib_net_dns_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_net_$(PLATFORM)) $(stdlib_net_udp_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_unix_resolvconf_$(PLATFORM)) $(stdlib_unix_poll_$(PLATFORM)) $(stdlib_time_$(PLATFORM)) $(stdlib_errors_$(PLATFORM))
   1794 	@printf 'HAREC \t$@\n'
   1795 	@mkdir -p $(HARECACHE)/net/dns
   1796 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::dns \
   1797 		-t$(HARECACHE)/net/dns/net_dns.td $(stdlib_net_dns_any_srcs)
   1798 
   1799 # net::ip (+linux)
   1800 stdlib_net_ip_linux_srcs = \
   1801 	$(STDLIB)/net/ip/+linux.ha \
   1802 	$(STDLIB)/net/ip/ip.ha
   1803 
   1804 # net::ip (+freebsd)
   1805 stdlib_net_ip_freebsd_srcs = \
   1806 	$(STDLIB)/net/ip/+freebsd.ha \
   1807 	$(STDLIB)/net/ip/ip.ha
   1808 
   1809 $(HARECACHE)/net/ip/net_ip-linux.ssa: $(stdlib_net_ip_linux_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM))
   1810 	@printf 'HAREC \t$@\n'
   1811 	@mkdir -p $(HARECACHE)/net/ip
   1812 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::ip \
   1813 		-t$(HARECACHE)/net/ip/net_ip.td $(stdlib_net_ip_linux_srcs)
   1814 
   1815 $(HARECACHE)/net/ip/net_ip-freebsd.ssa: $(stdlib_net_ip_freebsd_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM))
   1816 	@printf 'HAREC \t$@\n'
   1817 	@mkdir -p $(HARECACHE)/net/ip
   1818 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::ip \
   1819 		-t$(HARECACHE)/net/ip/net_ip.td $(stdlib_net_ip_freebsd_srcs)
   1820 
   1821 # net::tcp (+linux)
   1822 stdlib_net_tcp_linux_srcs = \
   1823 	$(STDLIB)/net/tcp/+linux.ha \
   1824 	$(STDLIB)/net/tcp/listener.ha \
   1825 	$(STDLIB)/net/tcp/options.ha
   1826 
   1827 $(HARECACHE)/net/tcp/net_tcp-linux.ssa: $(stdlib_net_tcp_linux_srcs) $(stdlib_rt) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_net_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_rt_$(PLATFORM))
   1828 	@printf 'HAREC \t$@\n'
   1829 	@mkdir -p $(HARECACHE)/net/tcp
   1830 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::tcp \
   1831 		-t$(HARECACHE)/net/tcp/net_tcp.td $(stdlib_net_tcp_linux_srcs)
   1832 
   1833 # net::tcp (+freebsd)
   1834 stdlib_net_tcp_freebsd_srcs = \
   1835 	$(STDLIB)/net/tcp/+freebsd.ha \
   1836 	$(STDLIB)/net/tcp/listener.ha \
   1837 	$(STDLIB)/net/tcp/options.ha
   1838 
   1839 $(HARECACHE)/net/tcp/net_tcp-freebsd.ssa: $(stdlib_net_tcp_freebsd_srcs) $(stdlib_rt) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_net_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_rt_$(PLATFORM))
   1840 	@printf 'HAREC \t$@\n'
   1841 	@mkdir -p $(HARECACHE)/net/tcp
   1842 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::tcp \
   1843 		-t$(HARECACHE)/net/tcp/net_tcp.td $(stdlib_net_tcp_freebsd_srcs)
   1844 
   1845 # net::udp (+linux)
   1846 stdlib_net_udp_linux_srcs = \
   1847 	$(STDLIB)/net/udp/+linux.ha \
   1848 	$(STDLIB)/net/udp/options.ha
   1849 
   1850 $(HARECACHE)/net/udp/net_udp-linux.ssa: $(stdlib_net_udp_linux_srcs) $(stdlib_rt) $(stdlib_errors_$(PLATFORM)) $(stdlib_net_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
   1851 	@printf 'HAREC \t$@\n'
   1852 	@mkdir -p $(HARECACHE)/net/udp
   1853 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::udp \
   1854 		-t$(HARECACHE)/net/udp/net_udp.td $(stdlib_net_udp_linux_srcs)
   1855 
   1856 # net::udp (+freebsd)
   1857 stdlib_net_udp_freebsd_srcs = \
   1858 	$(STDLIB)/net/udp/+freebsd.ha \
   1859 	$(STDLIB)/net/udp/options.ha
   1860 
   1861 $(HARECACHE)/net/udp/net_udp-freebsd.ssa: $(stdlib_net_udp_freebsd_srcs) $(stdlib_rt) $(stdlib_errors_$(PLATFORM)) $(stdlib_net_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
   1862 	@printf 'HAREC \t$@\n'
   1863 	@mkdir -p $(HARECACHE)/net/udp
   1864 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::udp \
   1865 		-t$(HARECACHE)/net/udp/net_udp.td $(stdlib_net_udp_freebsd_srcs)
   1866 
   1867 # net::unix (+linux)
   1868 stdlib_net_unix_linux_srcs = \
   1869 	$(STDLIB)/net/unix/+linux.ha \
   1870 	$(STDLIB)/net/unix/addr.ha \
   1871 	$(STDLIB)/net/unix/cmsg.ha \
   1872 	$(STDLIB)/net/unix/dial.ha \
   1873 	$(STDLIB)/net/unix/listener.ha \
   1874 	$(STDLIB)/net/unix/options.ha \
   1875 	$(STDLIB)/net/unix/socketpair.ha
   1876 
   1877 $(HARECACHE)/net/unix/net_unix-linux.ssa: $(stdlib_net_unix_linux_srcs) $(stdlib_rt) $(stdlib_net_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_types_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_net_dial_$(PLATFORM)) $(stdlib_rt_$(PLATFORM))
   1878 	@printf 'HAREC \t$@\n'
   1879 	@mkdir -p $(HARECACHE)/net/unix
   1880 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::unix \
   1881 		-t$(HARECACHE)/net/unix/net_unix.td $(stdlib_net_unix_linux_srcs)
   1882 
   1883 # net::unix (+freebsd)
   1884 stdlib_net_unix_freebsd_srcs = \
   1885 	$(STDLIB)/net/unix/+freebsd.ha \
   1886 	$(STDLIB)/net/unix/addr.ha \
   1887 	$(STDLIB)/net/unix/cmsg.ha \
   1888 	$(STDLIB)/net/unix/dial.ha \
   1889 	$(STDLIB)/net/unix/listener.ha \
   1890 	$(STDLIB)/net/unix/options.ha \
   1891 	$(STDLIB)/net/unix/socketpair.ha
   1892 
   1893 $(HARECACHE)/net/unix/net_unix-freebsd.ssa: $(stdlib_net_unix_freebsd_srcs) $(stdlib_rt) $(stdlib_net_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_types_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_net_dial_$(PLATFORM)) $(stdlib_rt_$(PLATFORM))
   1894 	@printf 'HAREC \t$@\n'
   1895 	@mkdir -p $(HARECACHE)/net/unix
   1896 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::unix \
   1897 		-t$(HARECACHE)/net/unix/net_unix.td $(stdlib_net_unix_freebsd_srcs)
   1898 
   1899 # net::uri (+any)
   1900 stdlib_net_uri_any_srcs = \
   1901 	$(STDLIB)/net/uri/fmt.ha \
   1902 	$(STDLIB)/net/uri/parse.ha \
   1903 	$(STDLIB)/net/uri/query.ha \
   1904 	$(STDLIB)/net/uri/uri.ha
   1905 
   1906 $(HARECACHE)/net/uri/net_uri-any.ssa: $(stdlib_net_uri_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   1907 	@printf 'HAREC \t$@\n'
   1908 	@mkdir -p $(HARECACHE)/net/uri
   1909 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nnet::uri \
   1910 		-t$(HARECACHE)/net/uri/net_uri.td $(stdlib_net_uri_any_srcs)
   1911 
   1912 # os (+linux)
   1913 stdlib_os_linux_srcs = \
   1914 	$(STDLIB)/os/+linux/dirfdfs.ha \
   1915 	$(STDLIB)/os/+linux/platform_environ.ha \
   1916 	$(STDLIB)/os/+linux/exit.ha \
   1917 	$(STDLIB)/os/+linux/fs.ha \
   1918 	$(STDLIB)/os/+linux/memory.ha \
   1919 	$(STDLIB)/os/+linux/status.ha \
   1920 	$(STDLIB)/os/+linux/stdfd.ha \
   1921 	$(STDLIB)/os/environ.ha \
   1922 	$(STDLIB)/os/os.ha
   1923 
   1924 $(HARECACHE)/os/os-linux.ssa: $(stdlib_os_linux_srcs) $(stdlib_rt) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_bufio_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_math_$(PLATFORM)) $(stdlib_types_c_$(PLATFORM))
   1925 	@printf 'HAREC \t$@\n'
   1926 	@mkdir -p $(HARECACHE)/os
   1927 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nos \
   1928 		-t$(HARECACHE)/os/os.td $(stdlib_os_linux_srcs)
   1929 
   1930 # os (+freebsd)
   1931 stdlib_os_freebsd_srcs = \
   1932 	$(STDLIB)/os/+freebsd/platform_environ.ha \
   1933 	$(STDLIB)/os/+freebsd/exit.ha \
   1934 	$(STDLIB)/os/+freebsd/dirfdfs.ha \
   1935 	$(STDLIB)/os/+freebsd/status.ha \
   1936 	$(STDLIB)/os/+freebsd/stdfd.ha \
   1937 	$(STDLIB)/os/+freebsd/fs.ha \
   1938 	$(STDLIB)/os/environ.ha \
   1939 	$(STDLIB)/os/os.ha
   1940 
   1941 $(HARECACHE)/os/os-freebsd.ssa: $(stdlib_os_freebsd_srcs) $(stdlib_rt) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_bufio_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_types_c_$(PLATFORM))
   1942 	@printf 'HAREC \t$@\n'
   1943 	@mkdir -p $(HARECACHE)/os
   1944 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nos \
   1945 		-t$(HARECACHE)/os/os.td $(stdlib_os_freebsd_srcs)
   1946 
   1947 # os::exec (+linux)
   1948 stdlib_os_exec_linux_srcs = \
   1949 	$(STDLIB)/os/exec/exec+linux.ha \
   1950 	$(STDLIB)/os/exec/process+linux.ha \
   1951 	$(STDLIB)/os/exec/types.ha \
   1952 	$(STDLIB)/os/exec/cmd.ha
   1953 
   1954 $(HARECACHE)/os/exec/os_exec-linux.ssa: $(stdlib_os_exec_linux_srcs) $(stdlib_rt) $(stdlib_os_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_unix_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_ascii_$(PLATFORM)) $(stdlib_unix_signal_$(PLATFORM)) $(stdlib_types_c_$(PLATFORM)) $(stdlib_time_$(PLATFORM))
   1955 	@printf 'HAREC \t$@\n'
   1956 	@mkdir -p $(HARECACHE)/os/exec
   1957 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nos::exec \
   1958 		-t$(HARECACHE)/os/exec/os_exec.td $(stdlib_os_exec_linux_srcs)
   1959 
   1960 # os::exec (+freebsd)
   1961 stdlib_os_exec_freebsd_srcs = \
   1962 	$(STDLIB)/os/exec/exec+freebsd.ha \
   1963 	$(STDLIB)/os/exec/process+freebsd.ha \
   1964 	$(STDLIB)/os/exec/types.ha \
   1965 	$(STDLIB)/os/exec/cmd.ha
   1966 
   1967 $(HARECACHE)/os/exec/os_exec-freebsd.ssa: $(stdlib_os_exec_freebsd_srcs) $(stdlib_rt) $(stdlib_os_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_unix_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_ascii_$(PLATFORM)) $(stdlib_unix_signal_$(PLATFORM)) $(stdlib_types_c_$(PLATFORM)) $(stdlib_time_$(PLATFORM))
   1968 	@printf 'HAREC \t$@\n'
   1969 	@mkdir -p $(HARECACHE)/os/exec
   1970 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nos::exec \
   1971 		-t$(HARECACHE)/os/exec/os_exec.td $(stdlib_os_exec_freebsd_srcs)
   1972 
   1973 # path (+any)
   1974 stdlib_path_any_srcs = \
   1975 	$(STDLIB)/path/+$(PLATFORM).ha \
   1976 	$(STDLIB)/path/buffer.ha \
   1977 	$(STDLIB)/path/error.ha \
   1978 	$(STDLIB)/path/stack.ha \
   1979 	$(STDLIB)/path/ext_stack.ha \
   1980 	$(STDLIB)/path/posix.ha \
   1981 	$(STDLIB)/path/prefix.ha \
   1982 	$(STDLIB)/path/iter.ha
   1983 
   1984 $(HARECACHE)/path/path-any.ssa: $(stdlib_path_any_srcs) $(stdlib_rt) $(stdlib_strings_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_errors_$(PLATFORM))
   1985 	@printf 'HAREC \t$@\n'
   1986 	@mkdir -p $(HARECACHE)/path
   1987 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Npath \
   1988 		-t$(HARECACHE)/path/path.td $(stdlib_path_any_srcs)
   1989 
   1990 # regex (+any)
   1991 stdlib_regex_any_srcs = \
   1992 	$(STDLIB)/regex/regex.ha
   1993 
   1994 $(HARECACHE)/regex/regex-any.ssa: $(stdlib_regex_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_bufio_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_bufio_$(PLATFORM)) $(stdlib_types_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   1995 	@printf 'HAREC \t$@\n'
   1996 	@mkdir -p $(HARECACHE)/regex
   1997 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nregex \
   1998 		-t$(HARECACHE)/regex/regex.td $(stdlib_regex_any_srcs)
   1999 
   2000 # shlex (+any)
   2001 stdlib_shlex_any_srcs = \
   2002 	$(STDLIB)/shlex/escape.ha \
   2003 	$(STDLIB)/shlex/split.ha
   2004 
   2005 $(HARECACHE)/shlex/shlex-any.ssa: $(stdlib_shlex_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   2006 	@printf 'HAREC \t$@\n'
   2007 	@mkdir -p $(HARECACHE)/shlex
   2008 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nshlex \
   2009 		-t$(HARECACHE)/shlex/shlex.td $(stdlib_shlex_any_srcs)
   2010 
   2011 # sort (+any)
   2012 stdlib_sort_any_srcs = \
   2013 	$(STDLIB)/sort/bisect.ha \
   2014 	$(STDLIB)/sort/search.ha \
   2015 	$(STDLIB)/sort/sort.ha \
   2016 	$(STDLIB)/sort/types.ha
   2017 
   2018 $(HARECACHE)/sort/sort-any.ssa: $(stdlib_sort_any_srcs) $(stdlib_rt) $(stdlib_strings_$(PLATFORM)) $(stdlib_types_$(PLATFORM))
   2019 	@printf 'HAREC \t$@\n'
   2020 	@mkdir -p $(HARECACHE)/sort
   2021 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nsort \
   2022 		-t$(HARECACHE)/sort/sort.td $(stdlib_sort_any_srcs)
   2023 
   2024 # strconv (+any)
   2025 stdlib_strconv_any_srcs = \
   2026 	$(STDLIB)/strconv/types.ha \
   2027 	$(STDLIB)/strconv/itos.ha \
   2028 	$(STDLIB)/strconv/utos.ha \
   2029 	$(STDLIB)/strconv/stou.ha \
   2030 	$(STDLIB)/strconv/stoi.ha \
   2031 	$(STDLIB)/strconv/numeric.ha \
   2032 	$(STDLIB)/strconv/ftos.ha \
   2033 	$(STDLIB)/strconv/stof.ha \
   2034 	$(STDLIB)/strconv/stof_data.ha
   2035 
   2036 $(HARECACHE)/strconv/strconv-any.ssa: $(stdlib_strconv_any_srcs) $(stdlib_rt) $(stdlib_types_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_ascii_$(PLATFORM)) $(stdlib_math_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM))
   2037 	@printf 'HAREC \t$@\n'
   2038 	@mkdir -p $(HARECACHE)/strconv
   2039 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nstrconv \
   2040 		-t$(HARECACHE)/strconv/strconv.td $(stdlib_strconv_any_srcs)
   2041 
   2042 # strings (+any)
   2043 stdlib_strings_any_srcs = \
   2044 	$(STDLIB)/strings/concat.ha \
   2045 	$(STDLIB)/strings/contains.ha \
   2046 	$(STDLIB)/strings/dup.ha \
   2047 	$(STDLIB)/strings/iter.ha \
   2048 	$(STDLIB)/strings/runes.ha \
   2049 	$(STDLIB)/strings/sub.ha \
   2050 	$(STDLIB)/strings/suffix.ha \
   2051 	$(STDLIB)/strings/tokenize.ha \
   2052 	$(STDLIB)/strings/utf8.ha \
   2053 	$(STDLIB)/strings/index.ha \
   2054 	$(STDLIB)/strings/trim.ha \
   2055 	$(STDLIB)/strings/compare.ha \
   2056 	$(STDLIB)/strings/pad.ha \
   2057 	$(STDLIB)/strings/replace.ha
   2058 
   2059 $(HARECACHE)/strings/strings-any.ssa: $(stdlib_strings_any_srcs) $(stdlib_rt) $(stdlib_bytes_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_types_$(PLATFORM))
   2060 	@printf 'HAREC \t$@\n'
   2061 	@mkdir -p $(HARECACHE)/strings
   2062 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nstrings \
   2063 		-t$(HARECACHE)/strings/strings.td $(stdlib_strings_any_srcs)
   2064 
   2065 # strings::template (+any)
   2066 stdlib_strings_template_any_srcs = \
   2067 	$(STDLIB)/strings/template/template.ha
   2068 
   2069 $(HARECACHE)/strings/template/strings_template-any.ssa: $(stdlib_strings_template_any_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   2070 	@printf 'HAREC \t$@\n'
   2071 	@mkdir -p $(HARECACHE)/strings/template
   2072 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nstrings::template \
   2073 		-t$(HARECACHE)/strings/template/strings_template.td $(stdlib_strings_template_any_srcs)
   2074 
   2075 # temp (+linux)
   2076 stdlib_temp_linux_srcs = \
   2077 	$(STDLIB)/temp/+linux.ha
   2078 
   2079 $(HARECACHE)/temp/temp-linux.ssa: $(stdlib_temp_linux_srcs) $(stdlib_rt) $(stdlib_crypto_random_$(PLATFORM)) $(stdlib_encoding_hex_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_path_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM))
   2080 	@printf 'HAREC \t$@\n'
   2081 	@mkdir -p $(HARECACHE)/temp
   2082 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntemp \
   2083 		-t$(HARECACHE)/temp/temp.td $(stdlib_temp_linux_srcs)
   2084 
   2085 # temp (+freebsd)
   2086 stdlib_temp_freebsd_srcs = \
   2087 	$(STDLIB)/temp/+freebsd.ha
   2088 
   2089 $(HARECACHE)/temp/temp-freebsd.ssa: $(stdlib_temp_freebsd_srcs) $(stdlib_rt) $(stdlib_crypto_random_$(PLATFORM)) $(stdlib_encoding_hex_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_path_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM))
   2090 	@printf 'HAREC \t$@\n'
   2091 	@mkdir -p $(HARECACHE)/temp
   2092 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntemp \
   2093 		-t$(HARECACHE)/temp/temp.td $(stdlib_temp_freebsd_srcs)
   2094 
   2095 # test (+any)
   2096 stdlib_test_any_srcs = \
   2097 	$(STDLIB)/test/common.ha
   2098 
   2099 $(HARECACHE)/test/test-any.ssa: $(stdlib_test_any_srcs) $(stdlib_rt)
   2100 	@printf 'HAREC \t$@\n'
   2101 	@mkdir -p $(HARECACHE)/test
   2102 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntest \
   2103 		-t$(HARECACHE)/test/test.td $(stdlib_test_any_srcs)
   2104 
   2105 # time (+linux)
   2106 stdlib_time_linux_srcs = \
   2107 	$(STDLIB)/time/+linux/functions.ha \
   2108 	$(STDLIB)/time/+linux/+$(ARCH).ha \
   2109 	$(STDLIB)/time/arithm.ha \
   2110 	$(STDLIB)/time/conv.ha \
   2111 	$(STDLIB)/time/types.ha
   2112 
   2113 $(HARECACHE)/time/time-linux.ssa: $(stdlib_time_linux_srcs) $(stdlib_rt) $(stdlib_linux_vdso_$(PLATFORM)) $(stdlib_math_$(PLATFORM))
   2114 	@printf 'HAREC \t$@\n'
   2115 	@mkdir -p $(HARECACHE)/time
   2116 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntime \
   2117 		-t$(HARECACHE)/time/time.td $(stdlib_time_linux_srcs)
   2118 
   2119 # time (+freebsd)
   2120 stdlib_time_freebsd_srcs = \
   2121 	$(STDLIB)/time/+freebsd/functions.ha \
   2122 	$(STDLIB)/time/arithm.ha \
   2123 	$(STDLIB)/time/conv.ha \
   2124 	$(STDLIB)/time/types.ha
   2125 
   2126 $(HARECACHE)/time/time-freebsd.ssa: $(stdlib_time_freebsd_srcs) $(stdlib_rt) $(stdlib_math_$(PLATFORM))
   2127 	@printf 'HAREC \t$@\n'
   2128 	@mkdir -p $(HARECACHE)/time
   2129 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntime \
   2130 		-t$(HARECACHE)/time/time.td $(stdlib_time_freebsd_srcs)
   2131 
   2132 # time::chrono (+linux)
   2133 stdlib_time_chrono_linux_srcs = \
   2134 	$(STDLIB)/time/chrono/arithmetic.ha \
   2135 	$(STDLIB)/time/chrono/+linux.ha \
   2136 	$(STDLIB)/time/chrono/chronology.ha \
   2137 	$(STDLIB)/time/chrono/error.ha \
   2138 	$(STDLIB)/time/chrono/leapsec.ha \
   2139 	$(STDLIB)/time/chrono/timescale.ha \
   2140 	$(STDLIB)/time/chrono/timezone.ha \
   2141 	$(STDLIB)/time/chrono/tzdb.ha
   2142 
   2143 $(HARECACHE)/time/chrono/time_chrono-linux.ssa: $(stdlib_time_chrono_linux_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_time_$(PLATFORM)) $(stdlib_path_$(PLATFORM))
   2144 	@printf 'HAREC \t$@\n'
   2145 	@mkdir -p $(HARECACHE)/time/chrono
   2146 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntime::chrono \
   2147 		-t$(HARECACHE)/time/chrono/time_chrono.td $(stdlib_time_chrono_linux_srcs)
   2148 
   2149 # time::chrono (+freebsd)
   2150 stdlib_time_chrono_freebsd_srcs = \
   2151 	$(STDLIB)/time/chrono/arithmetic.ha \
   2152 	$(STDLIB)/time/chrono/+freebsd.ha \
   2153 	$(STDLIB)/time/chrono/chronology.ha \
   2154 	$(STDLIB)/time/chrono/error.ha \
   2155 	$(STDLIB)/time/chrono/leapsec.ha \
   2156 	$(STDLIB)/time/chrono/timescale.ha \
   2157 	$(STDLIB)/time/chrono/timezone.ha \
   2158 	$(STDLIB)/time/chrono/tzdb.ha
   2159 
   2160 $(HARECACHE)/time/chrono/time_chrono-freebsd.ssa: $(stdlib_time_chrono_freebsd_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_time_$(PLATFORM)) $(stdlib_path_$(PLATFORM))
   2161 	@printf 'HAREC \t$@\n'
   2162 	@mkdir -p $(HARECACHE)/time/chrono
   2163 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntime::chrono \
   2164 		-t$(HARECACHE)/time/chrono/time_chrono.td $(stdlib_time_chrono_freebsd_srcs)
   2165 
   2166 # time::date (+linux)
   2167 stdlib_time_date_linux_srcs = \
   2168 	$(STDLIB)/time/date/date.ha \
   2169 	$(STDLIB)/time/date/daydate.ha \
   2170 	$(STDLIB)/time/date/daytime.ha \
   2171 	$(STDLIB)/time/date/error.ha \
   2172 	$(STDLIB)/time/date/format.ha \
   2173 	$(STDLIB)/time/date/locality.ha \
   2174 	$(STDLIB)/time/date/observe.ha \
   2175 	$(STDLIB)/time/date/parithm.ha \
   2176 	$(STDLIB)/time/date/parse.ha \
   2177 	$(STDLIB)/time/date/period.ha \
   2178 	$(STDLIB)/time/date/reckon.ha \
   2179 	$(STDLIB)/time/date/tarithm.ha \
   2180 	$(STDLIB)/time/date/virtual.ha
   2181 
   2182 $(HARECACHE)/time/date/time_date-linux.ssa: $(stdlib_time_date_linux_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_time_$(PLATFORM)) $(stdlib_time_chrono_$(PLATFORM))
   2183 	@printf 'HAREC \t$@\n'
   2184 	@mkdir -p $(HARECACHE)/time/date
   2185 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntime::date \
   2186 		-t$(HARECACHE)/time/date/time_date.td $(stdlib_time_date_linux_srcs)
   2187 
   2188 # time::date (+freebsd)
   2189 stdlib_time_date_freebsd_srcs = \
   2190 	$(STDLIB)/time/date/date.ha \
   2191 	$(STDLIB)/time/date/daydate.ha \
   2192 	$(STDLIB)/time/date/daytime.ha \
   2193 	$(STDLIB)/time/date/error.ha \
   2194 	$(STDLIB)/time/date/format.ha \
   2195 	$(STDLIB)/time/date/locality.ha \
   2196 	$(STDLIB)/time/date/observe.ha \
   2197 	$(STDLIB)/time/date/parithm.ha \
   2198 	$(STDLIB)/time/date/parse.ha \
   2199 	$(STDLIB)/time/date/period.ha \
   2200 	$(STDLIB)/time/date/reckon.ha \
   2201 	$(STDLIB)/time/date/tarithm.ha \
   2202 	$(STDLIB)/time/date/virtual.ha
   2203 
   2204 $(HARECACHE)/time/date/time_date-freebsd.ssa: $(stdlib_time_date_freebsd_srcs) $(stdlib_rt) $(stdlib_ascii_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_time_$(PLATFORM)) $(stdlib_time_chrono_$(PLATFORM))
   2205 	@printf 'HAREC \t$@\n'
   2206 	@mkdir -p $(HARECACHE)/time/date
   2207 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntime::date \
   2208 		-t$(HARECACHE)/time/date/time_date.td $(stdlib_time_date_freebsd_srcs)
   2209 
   2210 # types (+any)
   2211 stdlib_types_any_srcs = \
   2212 	$(STDLIB)/types/limits.ha \
   2213 	$(STDLIB)/types/classes.ha \
   2214 	$(STDLIB)/types/arch+$(ARCH).ha
   2215 
   2216 $(HARECACHE)/types/types-any.ssa: $(stdlib_types_any_srcs) $(stdlib_rt)
   2217 	@printf 'HAREC \t$@\n'
   2218 	@mkdir -p $(HARECACHE)/types
   2219 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntypes \
   2220 		-t$(HARECACHE)/types/types.td $(stdlib_types_any_srcs)
   2221 
   2222 # types::c (+any)
   2223 stdlib_types_c_any_srcs = \
   2224 	$(STDLIB)/types/c/strings.ha \
   2225 	$(STDLIB)/types/c/types.ha \
   2226 	$(STDLIB)/types/c/arch+$(ARCH).ha
   2227 
   2228 $(HARECACHE)/types/c/types_c-any.ssa: $(stdlib_types_c_any_srcs) $(stdlib_rt) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_types_$(PLATFORM))
   2229 	@printf 'HAREC \t$@\n'
   2230 	@mkdir -p $(HARECACHE)/types/c
   2231 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Ntypes::c \
   2232 		-t$(HARECACHE)/types/c/types_c.td $(stdlib_types_c_any_srcs)
   2233 
   2234 # unix (+linux)
   2235 stdlib_unix_linux_srcs = \
   2236 	$(STDLIB)/unix/+linux/nice.ha \
   2237 	$(STDLIB)/unix/+linux/pipe.ha \
   2238 	$(STDLIB)/unix/+linux/umask.ha \
   2239 	$(STDLIB)/unix/+linux/getuid.ha \
   2240 	$(STDLIB)/unix/+linux/setuid.ha \
   2241 	$(STDLIB)/unix/+linux/groups.ha
   2242 
   2243 $(HARECACHE)/unix/unix-linux.ssa: $(stdlib_unix_linux_srcs) $(stdlib_rt) $(stdlib_errors_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
   2244 	@printf 'HAREC \t$@\n'
   2245 	@mkdir -p $(HARECACHE)/unix
   2246 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix \
   2247 		-t$(HARECACHE)/unix/unix.td $(stdlib_unix_linux_srcs)
   2248 
   2249 # unix (+freebsd)
   2250 stdlib_unix_freebsd_srcs = \
   2251 	$(STDLIB)/unix/+freebsd/nice.ha \
   2252 	$(STDLIB)/unix/+freebsd/pipe.ha \
   2253 	$(STDLIB)/unix/+freebsd/umask.ha \
   2254 	$(STDLIB)/unix/+freebsd/getuid.ha \
   2255 	$(STDLIB)/unix/+freebsd/setuid.ha \
   2256 	$(STDLIB)/unix/+freebsd/groups.ha
   2257 
   2258 $(HARECACHE)/unix/unix-freebsd.ssa: $(stdlib_unix_freebsd_srcs) $(stdlib_rt) $(stdlib_errors_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
   2259 	@printf 'HAREC \t$@\n'
   2260 	@mkdir -p $(HARECACHE)/unix
   2261 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix \
   2262 		-t$(HARECACHE)/unix/unix.td $(stdlib_unix_freebsd_srcs)
   2263 
   2264 # unix::hosts (+linux)
   2265 stdlib_unix_hosts_linux_srcs = \
   2266 	$(STDLIB)/unix/hosts/+linux.ha \
   2267 	$(STDLIB)/unix/hosts/hosts.ha
   2268 
   2269 $(HARECACHE)/unix/hosts/unix_hosts-linux.ssa: $(stdlib_unix_hosts_linux_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   2270 	@printf 'HAREC \t$@\n'
   2271 	@mkdir -p $(HARECACHE)/unix/hosts
   2272 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::hosts \
   2273 		-t$(HARECACHE)/unix/hosts/unix_hosts.td $(stdlib_unix_hosts_linux_srcs)
   2274 
   2275 # unix::hosts (+freebsd)
   2276 stdlib_unix_hosts_freebsd_srcs = \
   2277 	$(STDLIB)/unix/hosts/+freebsd.ha \
   2278 	$(STDLIB)/unix/hosts/hosts.ha
   2279 
   2280 $(HARECACHE)/unix/hosts/unix_hosts-freebsd.ssa: $(stdlib_unix_hosts_freebsd_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_encoding_utf8_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   2281 	@printf 'HAREC \t$@\n'
   2282 	@mkdir -p $(HARECACHE)/unix/hosts
   2283 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::hosts \
   2284 		-t$(HARECACHE)/unix/hosts/unix_hosts.td $(stdlib_unix_hosts_freebsd_srcs)
   2285 
   2286 # unix::passwd (+any)
   2287 stdlib_unix_passwd_any_srcs = \
   2288 	$(STDLIB)/unix/passwd/group.ha \
   2289 	$(STDLIB)/unix/passwd/passwd.ha \
   2290 	$(STDLIB)/unix/passwd/types.ha
   2291 
   2292 $(HARECACHE)/unix/passwd/unix_passwd-any.ssa: $(stdlib_unix_passwd_any_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_memio_$(PLATFORM))
   2293 	@printf 'HAREC \t$@\n'
   2294 	@mkdir -p $(HARECACHE)/unix/passwd
   2295 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::passwd \
   2296 		-t$(HARECACHE)/unix/passwd/unix_passwd.td $(stdlib_unix_passwd_any_srcs)
   2297 
   2298 # unix::poll (+linux)
   2299 stdlib_unix_poll_linux_srcs = \
   2300 	$(STDLIB)/unix/poll/+linux.ha \
   2301 	$(STDLIB)/unix/poll/types.ha
   2302 
   2303 $(HARECACHE)/unix/poll/unix_poll-linux.ssa: $(stdlib_unix_poll_linux_srcs) $(stdlib_rt) $(stdlib_rt_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_time_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
   2304 	@printf 'HAREC \t$@\n'
   2305 	@mkdir -p $(HARECACHE)/unix/poll
   2306 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::poll \
   2307 		-t$(HARECACHE)/unix/poll/unix_poll.td $(stdlib_unix_poll_linux_srcs)
   2308 
   2309 # unix::poll (+freebsd)
   2310 stdlib_unix_poll_freebsd_srcs = \
   2311 	$(STDLIB)/unix/poll/+freebsd.ha \
   2312 	$(STDLIB)/unix/poll/types.ha
   2313 
   2314 $(HARECACHE)/unix/poll/unix_poll-freebsd.ssa: $(stdlib_unix_poll_freebsd_srcs) $(stdlib_rt) $(stdlib_rt_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_time_$(PLATFORM)) $(stdlib_io_$(PLATFORM))
   2315 	@printf 'HAREC \t$@\n'
   2316 	@mkdir -p $(HARECACHE)/unix/poll
   2317 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::poll \
   2318 		-t$(HARECACHE)/unix/poll/unix_poll.td $(stdlib_unix_poll_freebsd_srcs)
   2319 
   2320 # unix::resolvconf (+linux)
   2321 stdlib_unix_resolvconf_linux_srcs = \
   2322 	$(STDLIB)/unix/resolvconf/+linux.ha \
   2323 	$(STDLIB)/unix/resolvconf/load.ha
   2324 
   2325 $(HARECACHE)/unix/resolvconf/unix_resolvconf-linux.ssa: $(stdlib_unix_resolvconf_linux_srcs) $(stdlib_rt) $(stdlib_os_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_bufio_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   2326 	@printf 'HAREC \t$@\n'
   2327 	@mkdir -p $(HARECACHE)/unix/resolvconf
   2328 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::resolvconf \
   2329 		-t$(HARECACHE)/unix/resolvconf/unix_resolvconf.td $(stdlib_unix_resolvconf_linux_srcs)
   2330 
   2331 # unix::resolvconf (+freebsd)
   2332 stdlib_unix_resolvconf_freebsd_srcs = \
   2333 	$(STDLIB)/unix/resolvconf/+freebsd.ha \
   2334 	$(STDLIB)/unix/resolvconf/load.ha
   2335 
   2336 $(HARECACHE)/unix/resolvconf/unix_resolvconf-freebsd.ssa: $(stdlib_unix_resolvconf_freebsd_srcs) $(stdlib_rt) $(stdlib_os_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_bufio_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_net_ip_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   2337 	@printf 'HAREC \t$@\n'
   2338 	@mkdir -p $(HARECACHE)/unix/resolvconf
   2339 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::resolvconf \
   2340 		-t$(HARECACHE)/unix/resolvconf/unix_resolvconf.td $(stdlib_unix_resolvconf_freebsd_srcs)
   2341 
   2342 # unix::signal (+linux)
   2343 stdlib_unix_signal_linux_srcs = \
   2344 	$(STDLIB)/unix/signal/types.ha \
   2345 	$(STDLIB)/unix/signal/+linux.ha
   2346 
   2347 $(HARECACHE)/unix/signal/unix_signal-linux.ssa: $(stdlib_unix_signal_linux_srcs) $(stdlib_rt) $(stdlib_io_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_rt_$(PLATFORM))
   2348 	@printf 'HAREC \t$@\n'
   2349 	@mkdir -p $(HARECACHE)/unix/signal
   2350 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::signal \
   2351 		-t$(HARECACHE)/unix/signal/unix_signal.td $(stdlib_unix_signal_linux_srcs)
   2352 
   2353 # unix::signal (+freebsd)
   2354 stdlib_unix_signal_freebsd_srcs = \
   2355 	$(STDLIB)/unix/signal/types.ha \
   2356 	$(STDLIB)/unix/signal/+freebsd.ha
   2357 
   2358 $(HARECACHE)/unix/signal/unix_signal-freebsd.ssa: $(stdlib_unix_signal_freebsd_srcs) $(stdlib_rt) $(stdlib_io_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_rt_$(PLATFORM))
   2359 	@printf 'HAREC \t$@\n'
   2360 	@mkdir -p $(HARECACHE)/unix/signal
   2361 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::signal \
   2362 		-t$(HARECACHE)/unix/signal/unix_signal.td $(stdlib_unix_signal_freebsd_srcs)
   2363 
   2364 # unix::tty (+linux)
   2365 stdlib_unix_tty_linux_srcs = \
   2366 	$(STDLIB)/unix/tty/types.ha \
   2367 	$(STDLIB)/unix/tty/pty_common.ha \
   2368 	$(STDLIB)/unix/tty/+linux/isatty.ha \
   2369 	$(STDLIB)/unix/tty/+linux/open.ha \
   2370 	$(STDLIB)/unix/tty/+linux/pty.ha \
   2371 	$(STDLIB)/unix/tty/+linux/termios.ha \
   2372 	$(STDLIB)/unix/tty/+linux/winsize.ha
   2373 
   2374 $(HARECACHE)/unix/tty/unix_tty-linux.ssa: $(stdlib_unix_tty_linux_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_strings_$(PLATFORM))
   2375 	@printf 'HAREC \t$@\n'
   2376 	@mkdir -p $(HARECACHE)/unix/tty
   2377 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::tty \
   2378 		-t$(HARECACHE)/unix/tty/unix_tty.td $(stdlib_unix_tty_linux_srcs)
   2379 
   2380 # unix::tty (+freebsd)
   2381 stdlib_unix_tty_freebsd_srcs = \
   2382 	$(STDLIB)/unix/tty/types.ha \
   2383 	$(STDLIB)/unix/tty/pty_common.ha \
   2384 	$(STDLIB)/unix/tty/+freebsd/isatty.ha \
   2385 	$(STDLIB)/unix/tty/+freebsd/open.ha \
   2386 	$(STDLIB)/unix/tty/+freebsd/pty.ha \
   2387 	$(STDLIB)/unix/tty/+freebsd/winsize.ha
   2388 
   2389 $(HARECACHE)/unix/tty/unix_tty-freebsd.ssa: $(stdlib_unix_tty_freebsd_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_fs_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_os_$(PLATFORM)) $(stdlib_rt_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_types_c_$(PLATFORM))
   2390 	@printf 'HAREC \t$@\n'
   2391 	@mkdir -p $(HARECACHE)/unix/tty
   2392 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nunix::tty \
   2393 		-t$(HARECACHE)/unix/tty/unix_tty.td $(stdlib_unix_tty_freebsd_srcs)
   2394 
   2395 # uuid (+any)
   2396 stdlib_uuid_any_srcs = \
   2397 	$(STDLIB)/uuid/uuid.ha
   2398 
   2399 $(HARECACHE)/uuid/uuid-any.ssa: $(stdlib_uuid_any_srcs) $(stdlib_rt) $(stdlib_crypto_random_$(PLATFORM)) $(stdlib_fmt_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_memio_$(PLATFORM)) $(stdlib_strings_$(PLATFORM)) $(stdlib_strconv_$(PLATFORM))
   2400 	@printf 'HAREC \t$@\n'
   2401 	@mkdir -p $(HARECACHE)/uuid
   2402 	@$(stdlib_env) $(HAREC) $(HAREFLAGS) -o $@ -Nuuid \
   2403 		-t$(HARECACHE)/uuid/uuid.td $(stdlib_uuid_any_srcs)
   2404 
   2405 # rt (+linux)
   2406 testlib_rt_linux_srcs = \
   2407 	$(STDLIB)/rt/+linux/platform_abort.ha \
   2408 	$(STDLIB)/rt/+linux/env.ha \
   2409 	$(STDLIB)/rt/+linux/errno.ha \
   2410 	$(STDLIB)/rt/+linux/types.ha \
   2411 	$(STDLIB)/rt/+linux/segmalloc.ha \
   2412 	$(STDLIB)/rt/+linux/platformstart-libc.ha \
   2413 	$(STDLIB)/rt/+linux/prctl.ha \
   2414 	$(STDLIB)/rt/+linux/+$(ARCH).ha \
   2415 	$(STDLIB)/rt/+linux/syscallno+$(ARCH).ha \
   2416 	$(STDLIB)/rt/+linux/syscalls.ha \
   2417 	$(STDLIB)/rt/+linux/syscallsarch+$(ARCH).ha \
   2418 	$(STDLIB)/rt/+linux/signal.ha \
   2419 	$(STDLIB)/rt/+linux/stat.ha \
   2420 	$(STDLIB)/rt/+linux/socket.ha \
   2421 	$(STDLIB)/rt/+$(ARCH)/arch_jmp.ha \
   2422 	$(STDLIB)/rt/+$(ARCH)/backtrace.ha \
   2423 	$(STDLIB)/rt/fenv_defs.ha \
   2424 	$(STDLIB)/rt/+$(ARCH)/cpuid.ha \
   2425 	$(STDLIB)/rt/ensure.ha \
   2426 	$(STDLIB)/rt/jmp.ha \
   2427 	$(STDLIB)/rt/malloc.ha \
   2428 	$(STDLIB)/rt/memcpy.ha \
   2429 	$(STDLIB)/rt/memmove.ha \
   2430 	$(STDLIB)/rt/memset.ha \
   2431 	$(STDLIB)/rt/strcmp.ha \
   2432 	$(STDLIB)/rt/abort+test.ha \
   2433 	$(STDLIB)/rt/start+test.ha \
   2434 	$(STDLIB)/rt/+test/signal_test.ha
   2435 
   2436 # rt (+freebsd)
   2437 testlib_rt_freebsd_srcs = \
   2438 	$(STDLIB)/rt/+freebsd/platform_abort.ha \
   2439 	$(STDLIB)/rt/+freebsd/env.ha \
   2440 	$(STDLIB)/rt/+freebsd/errno.ha \
   2441 	$(STDLIB)/rt/+freebsd/platformstart.ha \
   2442 	$(STDLIB)/rt/+freebsd/segmalloc.ha \
   2443 	$(STDLIB)/rt/+freebsd/signal.ha \
   2444 	$(STDLIB)/rt/+freebsd/socket.ha \
   2445 	$(STDLIB)/rt/+freebsd/+$(ARCH).ha \
   2446 	$(STDLIB)/rt/+freebsd/syscallno.ha \
   2447 	$(STDLIB)/rt/+freebsd/syscalls.ha \
   2448 	$(STDLIB)/rt/+freebsd/types.ha \
   2449 	$(STDLIB)/rt/+$(ARCH)/arch_jmp.ha \
   2450 	$(STDLIB)/rt/+$(ARCH)/backtrace.ha \
   2451 	$(STDLIB)/rt/fenv_defs.ha \
   2452 	$(STDLIB)/rt/+$(ARCH)/cpuid.ha \
   2453 	$(STDLIB)/rt/ensure.ha \
   2454 	$(STDLIB)/rt/jmp.ha \
   2455 	$(STDLIB)/rt/malloc.ha \
   2456 	$(STDLIB)/rt/memcpy.ha \
   2457 	$(STDLIB)/rt/memmove.ha \
   2458 	$(STDLIB)/rt/memset.ha \
   2459 	$(STDLIB)/rt/strcmp.ha \
   2460 	$(STDLIB)/rt/abort+test.ha \
   2461 	$(STDLIB)/rt/start+test.ha \
   2462 	$(STDLIB)/rt/+test/signal_test.ha
   2463 
   2464 $(TESTCACHE)/rt/rt-linux.ssa: $(testlib_rt_linux_srcs) $(testlib_rt)
   2465 	@printf 'HAREC \t$@\n'
   2466 	@mkdir -p $(TESTCACHE)/rt
   2467 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nrt \
   2468 		-t$(TESTCACHE)/rt/rt.td $(testlib_rt_linux_srcs)
   2469 
   2470 $(TESTCACHE)/rt/rt-freebsd.ssa: $(testlib_rt_freebsd_srcs) $(testlib_rt)
   2471 	@printf 'HAREC \t$@\n'
   2472 	@mkdir -p $(TESTCACHE)/rt
   2473 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nrt \
   2474 		-t$(TESTCACHE)/rt/rt.td $(testlib_rt_freebsd_srcs)
   2475 
   2476 $(TESTCACHE)/rt/start.o: $(STDLIB)/rt/+$(PLATFORM)/start+$(ARCH)-libc.s
   2477 	@printf 'AS \t%s\n' "$@"
   2478 	@mkdir -p $(TESTCACHE)/rt
   2479 	@$(AS) -o $@ $(STDLIB)/rt/+$(PLATFORM)/start+$(ARCH)-libc.s
   2480 
   2481 testlib_asm = $(TESTCACHE)/rt/syscall.o \
   2482 	$(TESTCACHE)/rt/setjmp.o \
   2483 	$(TESTCACHE)/rt/longjmp.o \
   2484 	$(TESTCACHE)/rt/restore.o \
   2485 	$(TESTCACHE)/rt/getfp.o \
   2486 	$(TESTCACHE)/rt/fenv.o \
   2487 	$(TESTCACHE)/rt/start.o \
   2488 	$(TESTCACHE)/rt/cpuid_native.o
   2489 
   2490 $(TESTCACHE)/rt/syscall.o: $(STDLIB)/rt/+$(PLATFORM)/syscall+$(ARCH).s
   2491 	@printf 'AS \t%s\n' "$@"
   2492 	@mkdir -p $(TESTCACHE)/rt
   2493 	@$(AS) -o $@ $(STDLIB)/rt/+$(PLATFORM)/syscall+$(ARCH).s
   2494 
   2495 $(TESTCACHE)/rt/setjmp.o: $(STDLIB)/rt/+$(ARCH)/setjmp.s
   2496 	@printf 'AS \t%s\n' "$@"
   2497 	@mkdir -p $(TESTCACHE)/rt
   2498 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/setjmp.s
   2499 
   2500 $(TESTCACHE)/rt/longjmp.o: $(STDLIB)/rt/+$(ARCH)/longjmp.s
   2501 	@printf 'AS \t%s\n' "$@"
   2502 	@mkdir -p $(TESTCACHE)/rt
   2503 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/longjmp.s
   2504 
   2505 $(TESTCACHE)/rt/restore.o: $(STDLIB)/rt/+$(ARCH)/restore.s
   2506 	@printf 'AS \t%s\n' "$@"
   2507 	@mkdir -p $(TESTCACHE)/rt
   2508 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/restore.s
   2509 
   2510 $(TESTCACHE)/rt/fenv.o: $(STDLIB)/rt/+$(ARCH)/fenv.s
   2511 	@printf 'AS \t%s\n' "$@"
   2512 	@mkdir -p $(TESTCACHE)/rt
   2513 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/fenv.s
   2514 
   2515 $(TESTCACHE)/rt/getfp.o: $(STDLIB)/rt/+$(ARCH)/getfp.s
   2516 	@printf 'AS \t%s\n' "$@"
   2517 	@mkdir -p $(TESTCACHE)/rt
   2518 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/getfp.s
   2519 
   2520 $(TESTCACHE)/rt/cpuid_native.o: $(STDLIB)/rt/+$(ARCH)/cpuid_native.s
   2521 	@printf 'AS \t%s\n' "$@"
   2522 	@mkdir -p $(TESTCACHE)/rt
   2523 	@$(AS) -o $@ $(STDLIB)/rt/+$(ARCH)/cpuid_native.s
   2524 
   2525 $(TESTCACHE)/rt/rt-linux.a: $(TESTCACHE)/rt/rt-linux.o $(testlib_asm)
   2526 	@printf 'AR \t%s\n' "$@"
   2527 	@$(AR) -csr $@ $(TESTCACHE)/rt/rt-linux.o $(testlib_asm)
   2528 
   2529 $(TESTCACHE)/rt/rt-freebsd.a: $(TESTCACHE)/rt/rt-freebsd.o $(testlib_asm)
   2530 	@printf 'AR \t%s\n' "$@"
   2531 	@$(AR) -csr $@ $(TESTCACHE)/rt/rt-freebsd.o $(testlib_asm)
   2532 
   2533 testlib_rt = $(TESTCACHE)/rt/rt-$(PLATFORM).a
   2534 testlib_env += HARE_TD_rt=$(TESTCACHE)/rt/rt.td
   2535 testlib_deps_linux += $(testlib_rt)
   2536 testlib_deps_freebsd += $(testlib_rt)
   2537 testlib_deps_any += $(testlib_rt)
   2538 
   2539 # gen_lib ascii (any)
   2540 testlib_ascii_any = $(TESTCACHE)/ascii/ascii-any.o
   2541 testlib_env += HARE_TD_ascii=$(TESTCACHE)/ascii/ascii.td
   2542 testlib_deps_any += $(testlib_ascii_any)
   2543 testlib_ascii_linux = $(testlib_ascii_any)
   2544 testlib_ascii_freebsd = $(testlib_ascii_any)
   2545 
   2546 # gen_lib bufio (any)
   2547 testlib_bufio_any = $(TESTCACHE)/bufio/bufio-any.o
   2548 testlib_env += HARE_TD_bufio=$(TESTCACHE)/bufio/bufio.td
   2549 testlib_deps_any += $(testlib_bufio_any)
   2550 testlib_bufio_linux = $(testlib_bufio_any)
   2551 testlib_bufio_freebsd = $(testlib_bufio_any)
   2552 
   2553 # gen_lib bytes (any)
   2554 testlib_bytes_any = $(TESTCACHE)/bytes/bytes-any.o
   2555 testlib_env += HARE_TD_bytes=$(TESTCACHE)/bytes/bytes.td
   2556 testlib_deps_any += $(testlib_bytes_any)
   2557 testlib_bytes_linux = $(testlib_bytes_any)
   2558 testlib_bytes_freebsd = $(testlib_bytes_any)
   2559 
   2560 # gen_lib crypto (any)
   2561 testlib_crypto_any = $(TESTCACHE)/crypto/crypto-any.o
   2562 testlib_env += HARE_TD_crypto=$(TESTCACHE)/crypto/crypto.td
   2563 testlib_deps_any += $(testlib_crypto_any)
   2564 testlib_crypto_linux = $(testlib_crypto_any)
   2565 testlib_crypto_freebsd = $(testlib_crypto_any)
   2566 
   2567 # gen_lib crypto::aes (any)
   2568 testlib_crypto_aes_any = $(TESTCACHE)/crypto/aes/crypto_aes-any.o
   2569 testlib_env += HARE_TD_crypto::aes=$(TESTCACHE)/crypto/aes/crypto_aes.td
   2570 testlib_deps_any += $(testlib_crypto_aes_any)
   2571 testlib_crypto_aes_linux = $(testlib_crypto_aes_any)
   2572 testlib_crypto_aes_freebsd = $(testlib_crypto_aes_any)
   2573 
   2574 # gen_lib crypto::aes::xts (any)
   2575 testlib_crypto_aes_xts_any = $(TESTCACHE)/crypto/aes/xts/crypto_aes_xts-any.o
   2576 testlib_env += HARE_TD_crypto::aes::xts=$(TESTCACHE)/crypto/aes/xts/crypto_aes_xts.td
   2577 testlib_deps_any += $(testlib_crypto_aes_xts_any)
   2578 testlib_crypto_aes_xts_linux = $(testlib_crypto_aes_xts_any)
   2579 testlib_crypto_aes_xts_freebsd = $(testlib_crypto_aes_xts_any)
   2580 
   2581 # gen_lib crypto::argon2 (any)
   2582 testlib_crypto_argon2_any = $(TESTCACHE)/crypto/argon2/crypto_argon2-any.o
   2583 testlib_env += HARE_TD_crypto::argon2=$(TESTCACHE)/crypto/argon2/crypto_argon2.td
   2584 testlib_deps_any += $(testlib_crypto_argon2_any)
   2585 testlib_crypto_argon2_linux = $(testlib_crypto_argon2_any)
   2586 testlib_crypto_argon2_freebsd = $(testlib_crypto_argon2_any)
   2587 
   2588 # gen_lib crypto::bcrypt (any)
   2589 testlib_crypto_bcrypt_any = $(TESTCACHE)/crypto/bcrypt/crypto_bcrypt-any.o
   2590 testlib_env += HARE_TD_crypto::bcrypt=$(TESTCACHE)/crypto/bcrypt/crypto_bcrypt.td
   2591 testlib_deps_any += $(testlib_crypto_bcrypt_any)
   2592 testlib_crypto_bcrypt_linux = $(testlib_crypto_bcrypt_any)
   2593 testlib_crypto_bcrypt_freebsd = $(testlib_crypto_bcrypt_any)
   2594 
   2595 # gen_lib crypto::blake2b (any)
   2596 testlib_crypto_blake2b_any = $(TESTCACHE)/crypto/blake2b/crypto_blake2b-any.o
   2597 testlib_env += HARE_TD_crypto::blake2b=$(TESTCACHE)/crypto/blake2b/crypto_blake2b.td
   2598 testlib_deps_any += $(testlib_crypto_blake2b_any)
   2599 testlib_crypto_blake2b_linux = $(testlib_crypto_blake2b_any)
   2600 testlib_crypto_blake2b_freebsd = $(testlib_crypto_blake2b_any)
   2601 
   2602 # gen_lib crypto::blowfish (any)
   2603 testlib_crypto_blowfish_any = $(TESTCACHE)/crypto/blowfish/crypto_blowfish-any.o
   2604 testlib_env += HARE_TD_crypto::blowfish=$(TESTCACHE)/crypto/blowfish/crypto_blowfish.td
   2605 testlib_deps_any += $(testlib_crypto_blowfish_any)
   2606 testlib_crypto_blowfish_linux = $(testlib_crypto_blowfish_any)
   2607 testlib_crypto_blowfish_freebsd = $(testlib_crypto_blowfish_any)
   2608 
   2609 # gen_lib crypto::bigint (any)
   2610 testlib_crypto_bigint_any = $(TESTCACHE)/crypto/bigint/crypto_bigint-any.o
   2611 testlib_env += HARE_TD_crypto::bigint=$(TESTCACHE)/crypto/bigint/crypto_bigint.td
   2612 testlib_deps_any += $(testlib_crypto_bigint_any)
   2613 testlib_crypto_bigint_linux = $(testlib_crypto_bigint_any)
   2614 testlib_crypto_bigint_freebsd = $(testlib_crypto_bigint_any)
   2615 
   2616 # gen_lib crypto::chacha (any)
   2617 testlib_crypto_chacha_any = $(TESTCACHE)/crypto/chacha/crypto_chacha-any.o
   2618 testlib_env += HARE_TD_crypto::chacha=$(TESTCACHE)/crypto/chacha/crypto_chacha.td
   2619 testlib_deps_any += $(testlib_crypto_chacha_any)
   2620 testlib_crypto_chacha_linux = $(testlib_crypto_chacha_any)
   2621 testlib_crypto_chacha_freebsd = $(testlib_crypto_chacha_any)
   2622 
   2623 # gen_lib crypto::chachapoly (any)
   2624 testlib_crypto_chachapoly_any = $(TESTCACHE)/crypto/chachapoly/crypto_chachapoly-any.o
   2625 testlib_env += HARE_TD_crypto::chachapoly=$(TESTCACHE)/crypto/chachapoly/crypto_chachapoly.td
   2626 testlib_deps_any += $(testlib_crypto_chachapoly_any)
   2627 testlib_crypto_chachapoly_linux = $(testlib_crypto_chachapoly_any)
   2628 testlib_crypto_chachapoly_freebsd = $(testlib_crypto_chachapoly_any)
   2629 
   2630 # gen_lib crypto::cipher (any)
   2631 testlib_crypto_cipher_any = $(TESTCACHE)/crypto/cipher/crypto_cipher-any.o
   2632 testlib_env += HARE_TD_crypto::cipher=$(TESTCACHE)/crypto/cipher/crypto_cipher.td
   2633 testlib_deps_any += $(testlib_crypto_cipher_any)
   2634 testlib_crypto_cipher_linux = $(testlib_crypto_cipher_any)
   2635 testlib_crypto_cipher_freebsd = $(testlib_crypto_cipher_any)
   2636 
   2637 # gen_lib crypto::hkdf (any)
   2638 testlib_crypto_hkdf_any = $(TESTCACHE)/crypto/hkdf/crypto_hkdf-any.o
   2639 testlib_env += HARE_TD_crypto::hkdf=$(TESTCACHE)/crypto/hkdf/crypto_hkdf.td
   2640 testlib_deps_any += $(testlib_crypto_hkdf_any)
   2641 testlib_crypto_hkdf_linux = $(testlib_crypto_hkdf_any)
   2642 testlib_crypto_hkdf_freebsd = $(testlib_crypto_hkdf_any)
   2643 
   2644 # gen_lib crypto::hmac (any)
   2645 testlib_crypto_hmac_any = $(TESTCACHE)/crypto/hmac/crypto_hmac-any.o
   2646 testlib_env += HARE_TD_crypto::hmac=$(TESTCACHE)/crypto/hmac/crypto_hmac.td
   2647 testlib_deps_any += $(testlib_crypto_hmac_any)
   2648 testlib_crypto_hmac_linux = $(testlib_crypto_hmac_any)
   2649 testlib_crypto_hmac_freebsd = $(testlib_crypto_hmac_any)
   2650 
   2651 # gen_lib crypto::mac (any)
   2652 testlib_crypto_mac_any = $(TESTCACHE)/crypto/mac/crypto_mac-any.o
   2653 testlib_env += HARE_TD_crypto::mac=$(TESTCACHE)/crypto/mac/crypto_mac.td
   2654 testlib_deps_any += $(testlib_crypto_mac_any)
   2655 testlib_crypto_mac_linux = $(testlib_crypto_mac_any)
   2656 testlib_crypto_mac_freebsd = $(testlib_crypto_mac_any)
   2657 
   2658 # gen_lib crypto::math (any)
   2659 testlib_crypto_math_any = $(TESTCACHE)/crypto/math/crypto_math-any.o
   2660 testlib_env += HARE_TD_crypto::math=$(TESTCACHE)/crypto/math/crypto_math.td
   2661 testlib_deps_any += $(testlib_crypto_math_any)
   2662 testlib_crypto_math_linux = $(testlib_crypto_math_any)
   2663 testlib_crypto_math_freebsd = $(testlib_crypto_math_any)
   2664 
   2665 # gen_lib crypto::random (linux)
   2666 testlib_crypto_random_linux = $(TESTCACHE)/crypto/random/crypto_random-linux.o
   2667 testlib_env += HARE_TD_crypto::random=$(TESTCACHE)/crypto/random/crypto_random.td
   2668 testlib_deps_linux += $(testlib_crypto_random_linux)
   2669 
   2670 # gen_lib crypto::random (freebsd)
   2671 testlib_crypto_random_freebsd = $(TESTCACHE)/crypto/random/crypto_random-freebsd.o
   2672 testlib_env += HARE_TD_crypto::random=$(TESTCACHE)/crypto/random/crypto_random.td
   2673 testlib_deps_freebsd += $(testlib_crypto_random_freebsd)
   2674 
   2675 # gen_lib crypto::rsa (any)
   2676 testlib_crypto_rsa_any = $(TESTCACHE)/crypto/rsa/crypto_rsa-any.o
   2677 testlib_env += HARE_TD_crypto::rsa=$(TESTCACHE)/crypto/rsa/crypto_rsa.td
   2678 testlib_deps_any += $(testlib_crypto_rsa_any)
   2679 testlib_crypto_rsa_linux = $(testlib_crypto_rsa_any)
   2680 testlib_crypto_rsa_freebsd = $(testlib_crypto_rsa_any)
   2681 
   2682 # gen_lib crypto::poly1305 (any)
   2683 testlib_crypto_poly1305_any = $(TESTCACHE)/crypto/poly1305/crypto_poly1305-any.o
   2684 testlib_env += HARE_TD_crypto::poly1305=$(TESTCACHE)/crypto/poly1305/crypto_poly1305.td
   2685 testlib_deps_any += $(testlib_crypto_poly1305_any)
   2686 testlib_crypto_poly1305_linux = $(testlib_crypto_poly1305_any)
   2687 testlib_crypto_poly1305_freebsd = $(testlib_crypto_poly1305_any)
   2688 
   2689 # gen_lib crypto::salsa (any)
   2690 testlib_crypto_salsa_any = $(TESTCACHE)/crypto/salsa/crypto_salsa-any.o
   2691 testlib_env += HARE_TD_crypto::salsa=$(TESTCACHE)/crypto/salsa/crypto_salsa.td
   2692 testlib_deps_any += $(testlib_crypto_salsa_any)
   2693 testlib_crypto_salsa_linux = $(testlib_crypto_salsa_any)
   2694 testlib_crypto_salsa_freebsd = $(testlib_crypto_salsa_any)
   2695 
   2696 # gen_lib crypto::sha1 (any)
   2697 testlib_crypto_sha1_any = $(TESTCACHE)/crypto/sha1/crypto_sha1-any.o
   2698 testlib_env += HARE_TD_crypto::sha1=$(TESTCACHE)/crypto/sha1/crypto_sha1.td
   2699 testlib_deps_any += $(testlib_crypto_sha1_any)
   2700 testlib_crypto_sha1_linux = $(testlib_crypto_sha1_any)
   2701 testlib_crypto_sha1_freebsd = $(testlib_crypto_sha1_any)
   2702 
   2703 # gen_lib crypto::sha256 (any)
   2704 testlib_crypto_sha256_any = $(TESTCACHE)/crypto/sha256/crypto_sha256-any.o
   2705 testlib_env += HARE_TD_crypto::sha256=$(TESTCACHE)/crypto/sha256/crypto_sha256.td
   2706 testlib_deps_any += $(testlib_crypto_sha256_any)
   2707 testlib_crypto_sha256_linux = $(testlib_crypto_sha256_any)
   2708 testlib_crypto_sha256_freebsd = $(testlib_crypto_sha256_any)
   2709 
   2710 # gen_lib crypto::sha512 (any)
   2711 testlib_crypto_sha512_any = $(TESTCACHE)/crypto/sha512/crypto_sha512-any.o
   2712 testlib_env += HARE_TD_crypto::sha512=$(TESTCACHE)/crypto/sha512/crypto_sha512.td
   2713 testlib_deps_any += $(testlib_crypto_sha512_any)
   2714 testlib_crypto_sha512_linux = $(testlib_crypto_sha512_any)
   2715 testlib_crypto_sha512_freebsd = $(testlib_crypto_sha512_any)
   2716 
   2717 # gen_lib crypto::curve25519 (any)
   2718 testlib_crypto_curve25519_any = $(TESTCACHE)/crypto/curve25519/crypto_curve25519-any.o
   2719 testlib_env += HARE_TD_crypto::curve25519=$(TESTCACHE)/crypto/curve25519/crypto_curve25519.td
   2720 testlib_deps_any += $(testlib_crypto_curve25519_any)
   2721 testlib_crypto_curve25519_linux = $(testlib_crypto_curve25519_any)
   2722 testlib_crypto_curve25519_freebsd = $(testlib_crypto_curve25519_any)
   2723 
   2724 # gen_lib crypto::ed25519 (any)
   2725 testlib_crypto_ed25519_any = $(TESTCACHE)/crypto/ed25519/crypto_ed25519-any.o
   2726 testlib_env += HARE_TD_crypto::ed25519=$(TESTCACHE)/crypto/ed25519/crypto_ed25519.td
   2727 testlib_deps_any += $(testlib_crypto_ed25519_any)
   2728 testlib_crypto_ed25519_linux = $(testlib_crypto_ed25519_any)
   2729 testlib_crypto_ed25519_freebsd = $(testlib_crypto_ed25519_any)
   2730 
   2731 # gen_lib crypto::x25519 (any)
   2732 testlib_crypto_x25519_any = $(TESTCACHE)/crypto/x25519/crypto_x25519-any.o
   2733 testlib_env += HARE_TD_crypto::x25519=$(TESTCACHE)/crypto/x25519/crypto_x25519.td
   2734 testlib_deps_any += $(testlib_crypto_x25519_any)
   2735 testlib_crypto_x25519_linux = $(testlib_crypto_x25519_any)
   2736 testlib_crypto_x25519_freebsd = $(testlib_crypto_x25519_any)
   2737 
   2738 # gen_lib dirs (any)
   2739 testlib_dirs_any = $(TESTCACHE)/dirs/dirs-any.o
   2740 testlib_env += HARE_TD_dirs=$(TESTCACHE)/dirs/dirs.td
   2741 testlib_deps_any += $(testlib_dirs_any)
   2742 testlib_dirs_linux = $(testlib_dirs_any)
   2743 testlib_dirs_freebsd = $(testlib_dirs_any)
   2744 
   2745 # gen_lib encoding::base64 (any)
   2746 testlib_encoding_base64_any = $(TESTCACHE)/encoding/base64/encoding_base64-any.o
   2747 testlib_env += HARE_TD_encoding::base64=$(TESTCACHE)/encoding/base64/encoding_base64.td
   2748 testlib_deps_any += $(testlib_encoding_base64_any)
   2749 testlib_encoding_base64_linux = $(testlib_encoding_base64_any)
   2750 testlib_encoding_base64_freebsd = $(testlib_encoding_base64_any)
   2751 
   2752 # gen_lib encoding::base32 (any)
   2753 testlib_encoding_base32_any = $(TESTCACHE)/encoding/base32/encoding_base32-any.o
   2754 testlib_env += HARE_TD_encoding::base32=$(TESTCACHE)/encoding/base32/encoding_base32.td
   2755 testlib_deps_any += $(testlib_encoding_base32_any)
   2756 testlib_encoding_base32_linux = $(testlib_encoding_base32_any)
   2757 testlib_encoding_base32_freebsd = $(testlib_encoding_base32_any)
   2758 
   2759 # gen_lib encoding::hex (any)
   2760 testlib_encoding_hex_any = $(TESTCACHE)/encoding/hex/encoding_hex-any.o
   2761 testlib_env += HARE_TD_encoding::hex=$(TESTCACHE)/encoding/hex/encoding_hex.td
   2762 testlib_deps_any += $(testlib_encoding_hex_any)
   2763 testlib_encoding_hex_linux = $(testlib_encoding_hex_any)
   2764 testlib_encoding_hex_freebsd = $(testlib_encoding_hex_any)
   2765 
   2766 # gen_lib encoding::pem (any)
   2767 testlib_encoding_pem_any = $(TESTCACHE)/encoding/pem/encoding_pem-any.o
   2768 testlib_env += HARE_TD_encoding::pem=$(TESTCACHE)/encoding/pem/encoding_pem.td
   2769 testlib_deps_any += $(testlib_encoding_pem_any)
   2770 testlib_encoding_pem_linux = $(testlib_encoding_pem_any)
   2771 testlib_encoding_pem_freebsd = $(testlib_encoding_pem_any)
   2772 
   2773 # gen_lib encoding::utf8 (any)
   2774 testlib_encoding_utf8_any = $(TESTCACHE)/encoding/utf8/encoding_utf8-any.o
   2775 testlib_env += HARE_TD_encoding::utf8=$(TESTCACHE)/encoding/utf8/encoding_utf8.td
   2776 testlib_deps_any += $(testlib_encoding_utf8_any)
   2777 testlib_encoding_utf8_linux = $(testlib_encoding_utf8_any)
   2778 testlib_encoding_utf8_freebsd = $(testlib_encoding_utf8_any)
   2779 
   2780 # gen_lib endian (any)
   2781 testlib_endian_any = $(TESTCACHE)/endian/endian-any.o
   2782 testlib_env += HARE_TD_endian=$(TESTCACHE)/endian/endian.td
   2783 testlib_deps_any += $(testlib_endian_any)
   2784 testlib_endian_linux = $(testlib_endian_any)
   2785 testlib_endian_freebsd = $(testlib_endian_any)
   2786 
   2787 # gen_lib errors (any)
   2788 testlib_errors_any = $(TESTCACHE)/errors/errors-any.o
   2789 testlib_env += HARE_TD_errors=$(TESTCACHE)/errors/errors.td
   2790 testlib_deps_any += $(testlib_errors_any)
   2791 testlib_errors_linux = $(testlib_errors_any)
   2792 testlib_errors_freebsd = $(testlib_errors_any)
   2793 
   2794 # gen_lib fmt (any)
   2795 testlib_fmt_any = $(TESTCACHE)/fmt/fmt-any.o
   2796 testlib_env += HARE_TD_fmt=$(TESTCACHE)/fmt/fmt.td
   2797 testlib_deps_any += $(testlib_fmt_any)
   2798 testlib_fmt_linux = $(testlib_fmt_any)
   2799 testlib_fmt_freebsd = $(testlib_fmt_any)
   2800 
   2801 # gen_lib fnmatch (any)
   2802 testlib_fnmatch_any = $(TESTCACHE)/fnmatch/fnmatch-any.o
   2803 testlib_env += HARE_TD_fnmatch=$(TESTCACHE)/fnmatch/fnmatch.td
   2804 testlib_deps_any += $(testlib_fnmatch_any)
   2805 testlib_fnmatch_linux = $(testlib_fnmatch_any)
   2806 testlib_fnmatch_freebsd = $(testlib_fnmatch_any)
   2807 
   2808 # gen_lib format::elf (any)
   2809 testlib_format_elf_any = $(TESTCACHE)/format/elf/format_elf-any.o
   2810 testlib_env += HARE_TD_format::elf=$(TESTCACHE)/format/elf/format_elf.td
   2811 testlib_deps_any += $(testlib_format_elf_any)
   2812 testlib_format_elf_linux = $(testlib_format_elf_any)
   2813 testlib_format_elf_freebsd = $(testlib_format_elf_any)
   2814 
   2815 # gen_lib format::ini (any)
   2816 testlib_format_ini_any = $(TESTCACHE)/format/ini/format_ini-any.o
   2817 testlib_env += HARE_TD_format::ini=$(TESTCACHE)/format/ini/format_ini.td
   2818 testlib_deps_any += $(testlib_format_ini_any)
   2819 testlib_format_ini_linux = $(testlib_format_ini_any)
   2820 testlib_format_ini_freebsd = $(testlib_format_ini_any)
   2821 
   2822 # gen_lib format::tar (any)
   2823 testlib_format_tar_any = $(TESTCACHE)/format/tar/format_tar-any.o
   2824 testlib_env += HARE_TD_format::tar=$(TESTCACHE)/format/tar/format_tar.td
   2825 testlib_deps_any += $(testlib_format_tar_any)
   2826 testlib_format_tar_linux = $(testlib_format_tar_any)
   2827 testlib_format_tar_freebsd = $(testlib_format_tar_any)
   2828 
   2829 # gen_lib fs (any)
   2830 testlib_fs_any = $(TESTCACHE)/fs/fs-any.o
   2831 testlib_env += HARE_TD_fs=$(TESTCACHE)/fs/fs.td
   2832 testlib_deps_any += $(testlib_fs_any)
   2833 testlib_fs_linux = $(testlib_fs_any)
   2834 testlib_fs_freebsd = $(testlib_fs_any)
   2835 
   2836 # gen_lib getopt (any)
   2837 testlib_getopt_any = $(TESTCACHE)/getopt/getopt-any.o
   2838 testlib_env += HARE_TD_getopt=$(TESTCACHE)/getopt/getopt.td
   2839 testlib_deps_any += $(testlib_getopt_any)
   2840 testlib_getopt_linux = $(testlib_getopt_any)
   2841 testlib_getopt_freebsd = $(testlib_getopt_any)
   2842 
   2843 # gen_lib glob (any)
   2844 testlib_glob_any = $(TESTCACHE)/glob/glob-any.o
   2845 testlib_env += HARE_TD_glob=$(TESTCACHE)/glob/glob.td
   2846 testlib_deps_any += $(testlib_glob_any)
   2847 testlib_glob_linux = $(testlib_glob_any)
   2848 testlib_glob_freebsd = $(testlib_glob_any)
   2849 
   2850 # gen_lib hare::ast (any)
   2851 testlib_hare_ast_any = $(TESTCACHE)/hare/ast/hare_ast-any.o
   2852 testlib_env += HARE_TD_hare::ast=$(TESTCACHE)/hare/ast/hare_ast.td
   2853 testlib_deps_any += $(testlib_hare_ast_any)
   2854 testlib_hare_ast_linux = $(testlib_hare_ast_any)
   2855 testlib_hare_ast_freebsd = $(testlib_hare_ast_any)
   2856 
   2857 # gen_lib hare::lex (any)
   2858 testlib_hare_lex_any = $(TESTCACHE)/hare/lex/hare_lex-any.o
   2859 testlib_env += HARE_TD_hare::lex=$(TESTCACHE)/hare/lex/hare_lex.td
   2860 testlib_deps_any += $(testlib_hare_lex_any)
   2861 testlib_hare_lex_linux = $(testlib_hare_lex_any)
   2862 testlib_hare_lex_freebsd = $(testlib_hare_lex_any)
   2863 
   2864 # gen_lib hare::module (any)
   2865 testlib_hare_module_any = $(TESTCACHE)/hare/module/hare_module-any.o
   2866 testlib_env += HARE_TD_hare::module=$(TESTCACHE)/hare/module/hare_module.td
   2867 testlib_deps_any += $(testlib_hare_module_any)
   2868 testlib_hare_module_linux = $(testlib_hare_module_any)
   2869 testlib_hare_module_freebsd = $(testlib_hare_module_any)
   2870 
   2871 # gen_lib hare::parse (any)
   2872 testlib_hare_parse_any = $(TESTCACHE)/hare/parse/hare_parse-any.o
   2873 testlib_env += HARE_TD_hare::parse=$(TESTCACHE)/hare/parse/hare_parse.td
   2874 testlib_deps_any += $(testlib_hare_parse_any)
   2875 testlib_hare_parse_linux = $(testlib_hare_parse_any)
   2876 testlib_hare_parse_freebsd = $(testlib_hare_parse_any)
   2877 
   2878 # gen_lib hare::types (any)
   2879 testlib_hare_types_any = $(TESTCACHE)/hare/types/hare_types-any.o
   2880 testlib_env += HARE_TD_hare::types=$(TESTCACHE)/hare/types/hare_types.td
   2881 testlib_deps_any += $(testlib_hare_types_any)
   2882 testlib_hare_types_linux = $(testlib_hare_types_any)
   2883 testlib_hare_types_freebsd = $(testlib_hare_types_any)
   2884 
   2885 # gen_lib hare::unit (any)
   2886 testlib_hare_unit_any = $(TESTCACHE)/hare/unit/hare_unit-any.o
   2887 testlib_env += HARE_TD_hare::unit=$(TESTCACHE)/hare/unit/hare_unit.td
   2888 testlib_deps_any += $(testlib_hare_unit_any)
   2889 testlib_hare_unit_linux = $(testlib_hare_unit_any)
   2890 testlib_hare_unit_freebsd = $(testlib_hare_unit_any)
   2891 
   2892 # gen_lib hare::unparse (any)
   2893 testlib_hare_unparse_any = $(TESTCACHE)/hare/unparse/hare_unparse-any.o
   2894 testlib_env += HARE_TD_hare::unparse=$(TESTCACHE)/hare/unparse/hare_unparse.td
   2895 testlib_deps_any += $(testlib_hare_unparse_any)
   2896 testlib_hare_unparse_linux = $(testlib_hare_unparse_any)
   2897 testlib_hare_unparse_freebsd = $(testlib_hare_unparse_any)
   2898 
   2899 # gen_lib hash (any)
   2900 testlib_hash_any = $(TESTCACHE)/hash/hash-any.o
   2901 testlib_env += HARE_TD_hash=$(TESTCACHE)/hash/hash.td
   2902 testlib_deps_any += $(testlib_hash_any)
   2903 testlib_hash_linux = $(testlib_hash_any)
   2904 testlib_hash_freebsd = $(testlib_hash_any)
   2905 
   2906 # gen_lib hash::adler32 (any)
   2907 testlib_hash_adler32_any = $(TESTCACHE)/hash/adler32/hash_adler32-any.o
   2908 testlib_env += HARE_TD_hash::adler32=$(TESTCACHE)/hash/adler32/hash_adler32.td
   2909 testlib_deps_any += $(testlib_hash_adler32_any)
   2910 testlib_hash_adler32_linux = $(testlib_hash_adler32_any)
   2911 testlib_hash_adler32_freebsd = $(testlib_hash_adler32_any)
   2912 
   2913 # gen_lib hash::crc16 (any)
   2914 testlib_hash_crc16_any = $(TESTCACHE)/hash/crc16/hash_crc16-any.o
   2915 testlib_env += HARE_TD_hash::crc16=$(TESTCACHE)/hash/crc16/hash_crc16.td
   2916 testlib_deps_any += $(testlib_hash_crc16_any)
   2917 testlib_hash_crc16_linux = $(testlib_hash_crc16_any)
   2918 testlib_hash_crc16_freebsd = $(testlib_hash_crc16_any)
   2919 
   2920 # gen_lib hash::crc32 (any)
   2921 testlib_hash_crc32_any = $(TESTCACHE)/hash/crc32/hash_crc32-any.o
   2922 testlib_env += HARE_TD_hash::crc32=$(TESTCACHE)/hash/crc32/hash_crc32.td
   2923 testlib_deps_any += $(testlib_hash_crc32_any)
   2924 testlib_hash_crc32_linux = $(testlib_hash_crc32_any)
   2925 testlib_hash_crc32_freebsd = $(testlib_hash_crc32_any)
   2926 
   2927 # gen_lib hash::crc64 (any)
   2928 testlib_hash_crc64_any = $(TESTCACHE)/hash/crc64/hash_crc64-any.o
   2929 testlib_env += HARE_TD_hash::crc64=$(TESTCACHE)/hash/crc64/hash_crc64.td
   2930 testlib_deps_any += $(testlib_hash_crc64_any)
   2931 testlib_hash_crc64_linux = $(testlib_hash_crc64_any)
   2932 testlib_hash_crc64_freebsd = $(testlib_hash_crc64_any)
   2933 
   2934 # gen_lib hash::fnv (any)
   2935 testlib_hash_fnv_any = $(TESTCACHE)/hash/fnv/hash_fnv-any.o
   2936 testlib_env += HARE_TD_hash::fnv=$(TESTCACHE)/hash/fnv/hash_fnv.td
   2937 testlib_deps_any += $(testlib_hash_fnv_any)
   2938 testlib_hash_fnv_linux = $(testlib_hash_fnv_any)
   2939 testlib_hash_fnv_freebsd = $(testlib_hash_fnv_any)
   2940 
   2941 # gen_lib hash::siphash (any)
   2942 testlib_hash_siphash_any = $(TESTCACHE)/hash/siphash/hash_siphash-any.o
   2943 testlib_env += HARE_TD_hash::siphash=$(TESTCACHE)/hash/siphash/hash_siphash.td
   2944 testlib_deps_any += $(testlib_hash_siphash_any)
   2945 testlib_hash_siphash_linux = $(testlib_hash_siphash_any)
   2946 testlib_hash_siphash_freebsd = $(testlib_hash_siphash_any)
   2947 
   2948 # gen_lib io (linux)
   2949 testlib_io_linux = $(TESTCACHE)/io/io-linux.o
   2950 testlib_env += HARE_TD_io=$(TESTCACHE)/io/io.td
   2951 testlib_deps_linux += $(testlib_io_linux)
   2952 
   2953 # gen_lib io (freebsd)
   2954 testlib_io_freebsd = $(TESTCACHE)/io/io-freebsd.o
   2955 testlib_env += HARE_TD_io=$(TESTCACHE)/io/io.td
   2956 testlib_deps_freebsd += $(testlib_io_freebsd)
   2957 
   2958 # gen_lib linux (linux)
   2959 testlib_linux_linux = $(TESTCACHE)/linux/linux-linux.o
   2960 testlib_env += HARE_TD_linux=$(TESTCACHE)/linux/linux.td
   2961 testlib_deps_linux += $(testlib_linux_linux)
   2962 
   2963 # gen_lib linux::keyctl (linux)
   2964 testlib_linux_keyctl_linux = $(TESTCACHE)/linux/keyctl/linux_keyctl-linux.o
   2965 testlib_env += HARE_TD_linux::keyctl=$(TESTCACHE)/linux/keyctl/linux_keyctl.td
   2966 testlib_deps_linux += $(testlib_linux_keyctl_linux)
   2967 
   2968 # gen_lib linux::timerfd (linux)
   2969 testlib_linux_timerfd_linux = $(TESTCACHE)/linux/timerfd/linux_timerfd-linux.o
   2970 testlib_env += HARE_TD_linux::timerfd=$(TESTCACHE)/linux/timerfd/linux_timerfd.td
   2971 testlib_deps_linux += $(testlib_linux_timerfd_linux)
   2972 
   2973 # gen_lib linux::vdso (linux)
   2974 testlib_linux_vdso_linux = $(TESTCACHE)/linux/vdso/linux_vdso-linux.o
   2975 testlib_env += HARE_TD_linux::vdso=$(TESTCACHE)/linux/vdso/linux_vdso.td
   2976 testlib_deps_linux += $(testlib_linux_vdso_linux)
   2977 
   2978 # gen_lib log (linux)
   2979 testlib_log_linux = $(TESTCACHE)/log/log-linux.o
   2980 testlib_env += HARE_TD_log=$(TESTCACHE)/log/log.td
   2981 testlib_deps_linux += $(testlib_log_linux)
   2982 
   2983 # gen_lib log (freebsd)
   2984 testlib_log_freebsd = $(TESTCACHE)/log/log-freebsd.o
   2985 testlib_env += HARE_TD_log=$(TESTCACHE)/log/log.td
   2986 testlib_deps_freebsd += $(testlib_log_freebsd)
   2987 
   2988 # gen_lib math (any)
   2989 testlib_math_any = $(TESTCACHE)/math/math-any.o
   2990 testlib_env += HARE_TD_math=$(TESTCACHE)/math/math.td
   2991 testlib_deps_any += $(testlib_math_any)
   2992 testlib_math_linux = $(testlib_math_any)
   2993 testlib_math_freebsd = $(testlib_math_any)
   2994 
   2995 # gen_lib math::checked (any)
   2996 testlib_math_checked_any = $(TESTCACHE)/math/checked/math_checked-any.o
   2997 testlib_env += HARE_TD_math::checked=$(TESTCACHE)/math/checked/math_checked.td
   2998 testlib_deps_any += $(testlib_math_checked_any)
   2999 testlib_math_checked_linux = $(testlib_math_checked_any)
   3000 testlib_math_checked_freebsd = $(testlib_math_checked_any)
   3001 
   3002 # gen_lib math::complex (any)
   3003 testlib_math_complex_any = $(TESTCACHE)/math/complex/math_complex-any.o
   3004 testlib_env += HARE_TD_math::complex=$(TESTCACHE)/math/complex/math_complex.td
   3005 testlib_deps_any += $(testlib_math_complex_any)
   3006 testlib_math_complex_linux = $(testlib_math_complex_any)
   3007 testlib_math_complex_freebsd = $(testlib_math_complex_any)
   3008 
   3009 # gen_lib math::random (any)
   3010 testlib_math_random_any = $(TESTCACHE)/math/random/math_random-any.o
   3011 testlib_env += HARE_TD_math::random=$(TESTCACHE)/math/random/math_random.td
   3012 testlib_deps_any += $(testlib_math_random_any)
   3013 testlib_math_random_linux = $(testlib_math_random_any)
   3014 testlib_math_random_freebsd = $(testlib_math_random_any)
   3015 
   3016 # gen_lib memio (any)
   3017 testlib_memio_any = $(TESTCACHE)/memio/memio-any.o
   3018 testlib_env += HARE_TD_memio=$(TESTCACHE)/memio/memio.td
   3019 testlib_deps_any += $(testlib_memio_any)
   3020 testlib_memio_linux = $(testlib_memio_any)
   3021 testlib_memio_freebsd = $(testlib_memio_any)
   3022 
   3023 # gen_lib net (linux)
   3024 testlib_net_linux = $(TESTCACHE)/net/net-linux.o
   3025 testlib_env += HARE_TD_net=$(TESTCACHE)/net/net.td
   3026 testlib_deps_linux += $(testlib_net_linux)
   3027 
   3028 # gen_lib net (freebsd)
   3029 testlib_net_freebsd = $(TESTCACHE)/net/net-freebsd.o
   3030 testlib_env += HARE_TD_net=$(TESTCACHE)/net/net.td
   3031 testlib_deps_freebsd += $(testlib_net_freebsd)
   3032 
   3033 # gen_lib net::dial (any)
   3034 testlib_net_dial_any = $(TESTCACHE)/net/dial/net_dial-any.o
   3035 testlib_env += HARE_TD_net::dial=$(TESTCACHE)/net/dial/net_dial.td
   3036 testlib_deps_any += $(testlib_net_dial_any)
   3037 testlib_net_dial_linux = $(testlib_net_dial_any)
   3038 testlib_net_dial_freebsd = $(testlib_net_dial_any)
   3039 
   3040 # gen_lib net::dns (any)
   3041 testlib_net_dns_any = $(TESTCACHE)/net/dns/net_dns-any.o
   3042 testlib_env += HARE_TD_net::dns=$(TESTCACHE)/net/dns/net_dns.td
   3043 testlib_deps_any += $(testlib_net_dns_any)
   3044 testlib_net_dns_linux = $(testlib_net_dns_any)
   3045 testlib_net_dns_freebsd = $(testlib_net_dns_any)
   3046 
   3047 # gen_lib net::ip (linux)
   3048 testlib_net_ip_linux = $(TESTCACHE)/net/ip/net_ip-linux.o
   3049 testlib_env += HARE_TD_net::ip=$(TESTCACHE)/net/ip/net_ip.td
   3050 testlib_deps_linux += $(testlib_net_ip_linux)
   3051 
   3052 # gen_lib net::ip (freebsd)
   3053 testlib_net_ip_freebsd = $(TESTCACHE)/net/ip/net_ip-freebsd.o
   3054 testlib_env += HARE_TD_net::ip=$(TESTCACHE)/net/ip/net_ip.td
   3055 testlib_deps_freebsd += $(testlib_net_ip_freebsd)
   3056 
   3057 # gen_lib net::tcp (linux)
   3058 testlib_net_tcp_linux = $(TESTCACHE)/net/tcp/net_tcp-linux.o
   3059 testlib_env += HARE_TD_net::tcp=$(TESTCACHE)/net/tcp/net_tcp.td
   3060 testlib_deps_linux += $(testlib_net_tcp_linux)
   3061 
   3062 # gen_lib net::tcp (freebsd)
   3063 testlib_net_tcp_freebsd = $(TESTCACHE)/net/tcp/net_tcp-freebsd.o
   3064 testlib_env += HARE_TD_net::tcp=$(TESTCACHE)/net/tcp/net_tcp.td
   3065 testlib_deps_freebsd += $(testlib_net_tcp_freebsd)
   3066 
   3067 # gen_lib net::udp (linux)
   3068 testlib_net_udp_linux = $(TESTCACHE)/net/udp/net_udp-linux.o
   3069 testlib_env += HARE_TD_net::udp=$(TESTCACHE)/net/udp/net_udp.td
   3070 testlib_deps_linux += $(testlib_net_udp_linux)
   3071 
   3072 # gen_lib net::udp (freebsd)
   3073 testlib_net_udp_freebsd = $(TESTCACHE)/net/udp/net_udp-freebsd.o
   3074 testlib_env += HARE_TD_net::udp=$(TESTCACHE)/net/udp/net_udp.td
   3075 testlib_deps_freebsd += $(testlib_net_udp_freebsd)
   3076 
   3077 # gen_lib net::unix (linux)
   3078 testlib_net_unix_linux = $(TESTCACHE)/net/unix/net_unix-linux.o
   3079 testlib_env += HARE_TD_net::unix=$(TESTCACHE)/net/unix/net_unix.td
   3080 testlib_deps_linux += $(testlib_net_unix_linux)
   3081 
   3082 # gen_lib net::unix (freebsd)
   3083 testlib_net_unix_freebsd = $(TESTCACHE)/net/unix/net_unix-freebsd.o
   3084 testlib_env += HARE_TD_net::unix=$(TESTCACHE)/net/unix/net_unix.td
   3085 testlib_deps_freebsd += $(testlib_net_unix_freebsd)
   3086 
   3087 # gen_lib net::uri (any)
   3088 testlib_net_uri_any = $(TESTCACHE)/net/uri/net_uri-any.o
   3089 testlib_env += HARE_TD_net::uri=$(TESTCACHE)/net/uri/net_uri.td
   3090 testlib_deps_any += $(testlib_net_uri_any)
   3091 testlib_net_uri_linux = $(testlib_net_uri_any)
   3092 testlib_net_uri_freebsd = $(testlib_net_uri_any)
   3093 
   3094 # gen_lib os (linux)
   3095 testlib_os_linux = $(TESTCACHE)/os/os-linux.o
   3096 testlib_env += HARE_TD_os=$(TESTCACHE)/os/os.td
   3097 testlib_deps_linux += $(testlib_os_linux)
   3098 
   3099 # gen_lib os (freebsd)
   3100 testlib_os_freebsd = $(TESTCACHE)/os/os-freebsd.o
   3101 testlib_env += HARE_TD_os=$(TESTCACHE)/os/os.td
   3102 testlib_deps_freebsd += $(testlib_os_freebsd)
   3103 
   3104 # gen_lib os::exec (linux)
   3105 testlib_os_exec_linux = $(TESTCACHE)/os/exec/os_exec-linux.o
   3106 testlib_env += HARE_TD_os::exec=$(TESTCACHE)/os/exec/os_exec.td
   3107 testlib_deps_linux += $(testlib_os_exec_linux)
   3108 
   3109 # gen_lib os::exec (freebsd)
   3110 testlib_os_exec_freebsd = $(TESTCACHE)/os/exec/os_exec-freebsd.o
   3111 testlib_env += HARE_TD_os::exec=$(TESTCACHE)/os/exec/os_exec.td
   3112 testlib_deps_freebsd += $(testlib_os_exec_freebsd)
   3113 
   3114 # gen_lib path (any)
   3115 testlib_path_any = $(TESTCACHE)/path/path-any.o
   3116 testlib_env += HARE_TD_path=$(TESTCACHE)/path/path.td
   3117 testlib_deps_any += $(testlib_path_any)
   3118 testlib_path_linux = $(testlib_path_any)
   3119 testlib_path_freebsd = $(testlib_path_any)
   3120 
   3121 # gen_lib regex (any)
   3122 testlib_regex_any = $(TESTCACHE)/regex/regex-any.o
   3123 testlib_env += HARE_TD_regex=$(TESTCACHE)/regex/regex.td
   3124 testlib_deps_any += $(testlib_regex_any)
   3125 testlib_regex_linux = $(testlib_regex_any)
   3126 testlib_regex_freebsd = $(testlib_regex_any)
   3127 
   3128 # gen_lib shlex (any)
   3129 testlib_shlex_any = $(TESTCACHE)/shlex/shlex-any.o
   3130 testlib_env += HARE_TD_shlex=$(TESTCACHE)/shlex/shlex.td
   3131 testlib_deps_any += $(testlib_shlex_any)
   3132 testlib_shlex_linux = $(testlib_shlex_any)
   3133 testlib_shlex_freebsd = $(testlib_shlex_any)
   3134 
   3135 # gen_lib sort (any)
   3136 testlib_sort_any = $(TESTCACHE)/sort/sort-any.o
   3137 testlib_env += HARE_TD_sort=$(TESTCACHE)/sort/sort.td
   3138 testlib_deps_any += $(testlib_sort_any)
   3139 testlib_sort_linux = $(testlib_sort_any)
   3140 testlib_sort_freebsd = $(testlib_sort_any)
   3141 
   3142 # gen_lib strconv (any)
   3143 testlib_strconv_any = $(TESTCACHE)/strconv/strconv-any.o
   3144 testlib_env += HARE_TD_strconv=$(TESTCACHE)/strconv/strconv.td
   3145 testlib_deps_any += $(testlib_strconv_any)
   3146 testlib_strconv_linux = $(testlib_strconv_any)
   3147 testlib_strconv_freebsd = $(testlib_strconv_any)
   3148 
   3149 # gen_lib strings (any)
   3150 testlib_strings_any = $(TESTCACHE)/strings/strings-any.o
   3151 testlib_env += HARE_TD_strings=$(TESTCACHE)/strings/strings.td
   3152 testlib_deps_any += $(testlib_strings_any)
   3153 testlib_strings_linux = $(testlib_strings_any)
   3154 testlib_strings_freebsd = $(testlib_strings_any)
   3155 
   3156 # gen_lib strings::template (any)
   3157 testlib_strings_template_any = $(TESTCACHE)/strings/template/strings_template-any.o
   3158 testlib_env += HARE_TD_strings::template=$(TESTCACHE)/strings/template/strings_template.td
   3159 testlib_deps_any += $(testlib_strings_template_any)
   3160 testlib_strings_template_linux = $(testlib_strings_template_any)
   3161 testlib_strings_template_freebsd = $(testlib_strings_template_any)
   3162 
   3163 # gen_lib temp (linux)
   3164 testlib_temp_linux = $(TESTCACHE)/temp/temp-linux.o
   3165 testlib_env += HARE_TD_temp=$(TESTCACHE)/temp/temp.td
   3166 testlib_deps_linux += $(testlib_temp_linux)
   3167 
   3168 # gen_lib temp (freebsd)
   3169 testlib_temp_freebsd = $(TESTCACHE)/temp/temp-freebsd.o
   3170 testlib_env += HARE_TD_temp=$(TESTCACHE)/temp/temp.td
   3171 testlib_deps_freebsd += $(testlib_temp_freebsd)
   3172 
   3173 # gen_lib test (any)
   3174 testlib_test_any = $(TESTCACHE)/test/test-any.o
   3175 testlib_env += HARE_TD_test=$(TESTCACHE)/test/test.td
   3176 testlib_deps_any += $(testlib_test_any)
   3177 testlib_test_linux = $(testlib_test_any)
   3178 testlib_test_freebsd = $(testlib_test_any)
   3179 
   3180 # gen_lib time (linux)
   3181 testlib_time_linux = $(TESTCACHE)/time/time-linux.o
   3182 testlib_env += HARE_TD_time=$(TESTCACHE)/time/time.td
   3183 testlib_deps_linux += $(testlib_time_linux)
   3184 
   3185 # gen_lib time (freebsd)
   3186 testlib_time_freebsd = $(TESTCACHE)/time/time-freebsd.o
   3187 testlib_env += HARE_TD_time=$(TESTCACHE)/time/time.td
   3188 testlib_deps_freebsd += $(testlib_time_freebsd)
   3189 
   3190 # gen_lib time::chrono (linux)
   3191 testlib_time_chrono_linux = $(TESTCACHE)/time/chrono/time_chrono-linux.o
   3192 testlib_env += HARE_TD_time::chrono=$(TESTCACHE)/time/chrono/time_chrono.td
   3193 testlib_deps_linux += $(testlib_time_chrono_linux)
   3194 
   3195 # gen_lib time::chrono (freebsd)
   3196 testlib_time_chrono_freebsd = $(TESTCACHE)/time/chrono/time_chrono-freebsd.o
   3197 testlib_env += HARE_TD_time::chrono=$(TESTCACHE)/time/chrono/time_chrono.td
   3198 testlib_deps_freebsd += $(testlib_time_chrono_freebsd)
   3199 
   3200 # gen_lib time::date (linux)
   3201 testlib_time_date_linux = $(TESTCACHE)/time/date/time_date-linux.o
   3202 testlib_env += HARE_TD_time::date=$(TESTCACHE)/time/date/time_date.td
   3203 testlib_deps_linux += $(testlib_time_date_linux)
   3204 
   3205 # gen_lib time::date (freebsd)
   3206 testlib_time_date_freebsd = $(TESTCACHE)/time/date/time_date-freebsd.o
   3207 testlib_env += HARE_TD_time::date=$(TESTCACHE)/time/date/time_date.td
   3208 testlib_deps_freebsd += $(testlib_time_date_freebsd)
   3209 
   3210 # gen_lib types (any)
   3211 testlib_types_any = $(TESTCACHE)/types/types-any.o
   3212 testlib_env += HARE_TD_types=$(TESTCACHE)/types/types.td
   3213 testlib_deps_any += $(testlib_types_any)
   3214 testlib_types_linux = $(testlib_types_any)
   3215 testlib_types_freebsd = $(testlib_types_any)
   3216 
   3217 # gen_lib types::c (any)
   3218 testlib_types_c_any = $(TESTCACHE)/types/c/types_c-any.o
   3219 testlib_env += HARE_TD_types::c=$(TESTCACHE)/types/c/types_c.td
   3220 testlib_deps_any += $(testlib_types_c_any)
   3221 testlib_types_c_linux = $(testlib_types_c_any)
   3222 testlib_types_c_freebsd = $(testlib_types_c_any)
   3223 
   3224 # gen_lib unix (linux)
   3225 testlib_unix_linux = $(TESTCACHE)/unix/unix-linux.o
   3226 testlib_env += HARE_TD_unix=$(TESTCACHE)/unix/unix.td
   3227 testlib_deps_linux += $(testlib_unix_linux)
   3228 
   3229 # gen_lib unix (freebsd)
   3230 testlib_unix_freebsd = $(TESTCACHE)/unix/unix-freebsd.o
   3231 testlib_env += HARE_TD_unix=$(TESTCACHE)/unix/unix.td
   3232 testlib_deps_freebsd += $(testlib_unix_freebsd)
   3233 
   3234 # gen_lib unix::hosts (linux)
   3235 testlib_unix_hosts_linux = $(TESTCACHE)/unix/hosts/unix_hosts-linux.o
   3236 testlib_env += HARE_TD_unix::hosts=$(TESTCACHE)/unix/hosts/unix_hosts.td
   3237 testlib_deps_linux += $(testlib_unix_hosts_linux)
   3238 
   3239 # gen_lib unix::hosts (freebsd)
   3240 testlib_unix_hosts_freebsd = $(TESTCACHE)/unix/hosts/unix_hosts-freebsd.o
   3241 testlib_env += HARE_TD_unix::hosts=$(TESTCACHE)/unix/hosts/unix_hosts.td
   3242 testlib_deps_freebsd += $(testlib_unix_hosts_freebsd)
   3243 
   3244 # gen_lib unix::passwd (any)
   3245 testlib_unix_passwd_any = $(TESTCACHE)/unix/passwd/unix_passwd-any.o
   3246 testlib_env += HARE_TD_unix::passwd=$(TESTCACHE)/unix/passwd/unix_passwd.td
   3247 testlib_deps_any += $(testlib_unix_passwd_any)
   3248 testlib_unix_passwd_linux = $(testlib_unix_passwd_any)
   3249 testlib_unix_passwd_freebsd = $(testlib_unix_passwd_any)
   3250 
   3251 # gen_lib unix::poll (linux)
   3252 testlib_unix_poll_linux = $(TESTCACHE)/unix/poll/unix_poll-linux.o
   3253 testlib_env += HARE_TD_unix::poll=$(TESTCACHE)/unix/poll/unix_poll.td
   3254 testlib_deps_linux += $(testlib_unix_poll_linux)
   3255 
   3256 # gen_lib unix::poll (freebsd)
   3257 testlib_unix_poll_freebsd = $(TESTCACHE)/unix/poll/unix_poll-freebsd.o
   3258 testlib_env += HARE_TD_unix::poll=$(TESTCACHE)/unix/poll/unix_poll.td
   3259 testlib_deps_freebsd += $(testlib_unix_poll_freebsd)
   3260 
   3261 # gen_lib unix::resolvconf (linux)
   3262 testlib_unix_resolvconf_linux = $(TESTCACHE)/unix/resolvconf/unix_resolvconf-linux.o
   3263 testlib_env += HARE_TD_unix::resolvconf=$(TESTCACHE)/unix/resolvconf/unix_resolvconf.td
   3264 testlib_deps_linux += $(testlib_unix_resolvconf_linux)
   3265 
   3266 # gen_lib unix::resolvconf (freebsd)
   3267 testlib_unix_resolvconf_freebsd = $(TESTCACHE)/unix/resolvconf/unix_resolvconf-freebsd.o
   3268 testlib_env += HARE_TD_unix::resolvconf=$(TESTCACHE)/unix/resolvconf/unix_resolvconf.td
   3269 testlib_deps_freebsd += $(testlib_unix_resolvconf_freebsd)
   3270 
   3271 # gen_lib unix::signal (linux)
   3272 testlib_unix_signal_linux = $(TESTCACHE)/unix/signal/unix_signal-linux.o
   3273 testlib_env += HARE_TD_unix::signal=$(TESTCACHE)/unix/signal/unix_signal.td
   3274 testlib_deps_linux += $(testlib_unix_signal_linux)
   3275 
   3276 # gen_lib unix::signal (freebsd)
   3277 testlib_unix_signal_freebsd = $(TESTCACHE)/unix/signal/unix_signal-freebsd.o
   3278 testlib_env += HARE_TD_unix::signal=$(TESTCACHE)/unix/signal/unix_signal.td
   3279 testlib_deps_freebsd += $(testlib_unix_signal_freebsd)
   3280 
   3281 # gen_lib unix::tty (linux)
   3282 testlib_unix_tty_linux = $(TESTCACHE)/unix/tty/unix_tty-linux.o
   3283 testlib_env += HARE_TD_unix::tty=$(TESTCACHE)/unix/tty/unix_tty.td
   3284 testlib_deps_linux += $(testlib_unix_tty_linux)
   3285 
   3286 # gen_lib unix::tty (freebsd)
   3287 testlib_unix_tty_freebsd = $(TESTCACHE)/unix/tty/unix_tty-freebsd.o
   3288 testlib_env += HARE_TD_unix::tty=$(TESTCACHE)/unix/tty/unix_tty.td
   3289 testlib_deps_freebsd += $(testlib_unix_tty_freebsd)
   3290 
   3291 # gen_lib uuid (any)
   3292 testlib_uuid_any = $(TESTCACHE)/uuid/uuid-any.o
   3293 testlib_env += HARE_TD_uuid=$(TESTCACHE)/uuid/uuid.td
   3294 testlib_deps_any += $(testlib_uuid_any)
   3295 testlib_uuid_linux = $(testlib_uuid_any)
   3296 testlib_uuid_freebsd = $(testlib_uuid_any)
   3297 
   3298 # ascii (+any)
   3299 testlib_ascii_any_srcs = \
   3300 	$(STDLIB)/ascii/ctype.ha \
   3301 	$(STDLIB)/ascii/string.ha \
   3302 	$(STDLIB)/ascii/valid.ha
   3303 
   3304 $(TESTCACHE)/ascii/ascii-any.ssa: $(testlib_ascii_any_srcs) $(testlib_rt) $(testlib_strings_$(PLATFORM))
   3305 	@printf 'HAREC \t$@\n'
   3306 	@mkdir -p $(TESTCACHE)/ascii
   3307 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nascii \
   3308 		-t$(TESTCACHE)/ascii/ascii.td $(testlib_ascii_any_srcs)
   3309 
   3310 # bufio (+any)
   3311 testlib_bufio_any_srcs = \
   3312 	$(STDLIB)/bufio/stream.ha \
   3313 	$(STDLIB)/bufio/scanner.ha \
   3314 	$(STDLIB)/bufio/stream_test+test.ha \
   3315 	$(STDLIB)/bufio/scanner_test+test.ha
   3316 
   3317 $(TESTCACHE)/bufio/bufio-any.ssa: $(testlib_bufio_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_types_$(PLATFORM))
   3318 	@printf 'HAREC \t$@\n'
   3319 	@mkdir -p $(TESTCACHE)/bufio
   3320 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nbufio \
   3321 		-t$(TESTCACHE)/bufio/bufio.td $(testlib_bufio_any_srcs)
   3322 
   3323 # bytes (+any)
   3324 testlib_bytes_any_srcs = \
   3325 	$(STDLIB)/bytes/contains.ha \
   3326 	$(STDLIB)/bytes/equal.ha \
   3327 	$(STDLIB)/bytes/index.ha \
   3328 	$(STDLIB)/bytes/reverse.ha \
   3329 	$(STDLIB)/bytes/tokenize.ha \
   3330 	$(STDLIB)/bytes/trim.ha \
   3331 	$(STDLIB)/bytes/two_way.ha \
   3332 	$(STDLIB)/bytes/zero.ha
   3333 
   3334 $(TESTCACHE)/bytes/bytes-any.ssa: $(testlib_bytes_any_srcs) $(testlib_rt) $(testlib_types_$(PLATFORM))
   3335 	@printf 'HAREC \t$@\n'
   3336 	@mkdir -p $(TESTCACHE)/bytes
   3337 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nbytes \
   3338 		-t$(TESTCACHE)/bytes/bytes.td $(testlib_bytes_any_srcs)
   3339 
   3340 # crypto (+any)
   3341 testlib_crypto_any_srcs = \
   3342 	$(STDLIB)/crypto/authenc.ha \
   3343 	$(STDLIB)/crypto/keyderiv.ha \
   3344 	$(STDLIB)/crypto/+test/authenc_test.ha
   3345 
   3346 $(TESTCACHE)/crypto/crypto-any.ssa: $(testlib_crypto_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_argon2_$(PLATFORM)) $(testlib_crypto_chachapoly_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   3347 	@printf 'HAREC \t$@\n'
   3348 	@mkdir -p $(TESTCACHE)/crypto
   3349 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto \
   3350 		-t$(TESTCACHE)/crypto/crypto.td $(testlib_crypto_any_srcs)
   3351 
   3352 # crypto::aes (+any)
   3353 testlib_crypto_aes_any_srcs = \
   3354 	$(STDLIB)/crypto/aes/aes.ha \
   3355 	$(STDLIB)/crypto/aes/aes_ct64.ha \
   3356 	$(STDLIB)/crypto/aes/block.ha \
   3357 	$(STDLIB)/crypto/aes/ct64+test.ha \
   3358 	$(STDLIB)/crypto/aes/cbc+test.ha \
   3359 	$(STDLIB)/crypto/aes/ctr+test.ha \
   3360 	$(STDLIB)/crypto/aes/rt+test.ha \
   3361 	$(STDLIB)/crypto/aes/+test/gcm.ha
   3362 
   3363 $(TESTCACHE)/crypto/aes/crypto_aes-any.ssa: $(testlib_crypto_aes_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_cipher_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   3364 	@printf 'HAREC \t$@\n'
   3365 	@mkdir -p $(TESTCACHE)/crypto/aes
   3366 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::aes \
   3367 		-t$(TESTCACHE)/crypto/aes/crypto_aes.td $(testlib_crypto_aes_any_srcs)
   3368 
   3369 # crypto::aes::xts (+any)
   3370 testlib_crypto_aes_xts_any_srcs = \
   3371 	$(STDLIB)/crypto/aes/xts/xts.ha \
   3372 	$(STDLIB)/crypto/aes/xts/+test.ha
   3373 
   3374 $(TESTCACHE)/crypto/aes/xts/crypto_aes_xts-any.ssa: $(testlib_crypto_aes_xts_any_srcs) $(testlib_rt) $(testlib_crypto_aes_$(PLATFORM)) $(testlib_crypto_cipher_$(PLATFORM)) $(testlib_bytes_$(PLATFORM))
   3375 	@printf 'HAREC \t$@\n'
   3376 	@mkdir -p $(TESTCACHE)/crypto/aes/xts
   3377 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::aes::xts \
   3378 		-t$(TESTCACHE)/crypto/aes/xts/crypto_aes_xts.td $(testlib_crypto_aes_xts_any_srcs)
   3379 
   3380 # crypto::argon2 (+any)
   3381 testlib_crypto_argon2_any_srcs = \
   3382 	$(STDLIB)/crypto/argon2/argon2.ha \
   3383 	$(STDLIB)/crypto/argon2/+test.ha
   3384 
   3385 $(TESTCACHE)/crypto/argon2/crypto_argon2-any.ssa: $(testlib_crypto_argon2_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_blake2b_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_types_$(PLATFORM))
   3386 	@printf 'HAREC \t$@\n'
   3387 	@mkdir -p $(TESTCACHE)/crypto/argon2
   3388 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::argon2 \
   3389 		-t$(TESTCACHE)/crypto/argon2/crypto_argon2.td $(testlib_crypto_argon2_any_srcs)
   3390 
   3391 # crypto::bcrypt (+any)
   3392 testlib_crypto_bcrypt_any_srcs = \
   3393 	$(STDLIB)/crypto/bcrypt/bcrypt.ha \
   3394 	$(STDLIB)/crypto/bcrypt/base64.ha \
   3395 	$(STDLIB)/crypto/bcrypt/+test.ha
   3396 
   3397 $(TESTCACHE)/crypto/bcrypt/crypto_bcrypt-any.ssa: $(testlib_crypto_bcrypt_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_$(PLATFORM)) $(testlib_crypto_blowfish_$(PLATFORM)) $(testlib_crypto_cipher_$(PLATFORM)) $(testlib_crypto_random_$(PLATFORM)) $(testlib_encoding_base64_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3398 	@printf 'HAREC \t$@\n'
   3399 	@mkdir -p $(TESTCACHE)/crypto/bcrypt
   3400 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::bcrypt \
   3401 		-t$(TESTCACHE)/crypto/bcrypt/crypto_bcrypt.td $(testlib_crypto_bcrypt_any_srcs)
   3402 
   3403 # crypto::blake2b (+any)
   3404 testlib_crypto_blake2b_any_srcs = \
   3405 	$(STDLIB)/crypto/blake2b/blake2b.ha \
   3406 	$(STDLIB)/crypto/blake2b/+test.ha \
   3407 	$(STDLIB)/crypto/blake2b/vectors+test.ha
   3408 
   3409 $(TESTCACHE)/crypto/blake2b/crypto_blake2b-any.ssa: $(testlib_crypto_blake2b_any_srcs) $(testlib_rt) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_bytes_$(PLATFORM))
   3410 	@printf 'HAREC \t$@\n'
   3411 	@mkdir -p $(TESTCACHE)/crypto/blake2b
   3412 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::blake2b \
   3413 		-t$(TESTCACHE)/crypto/blake2b/crypto_blake2b.td $(testlib_crypto_blake2b_any_srcs)
   3414 
   3415 # crypto::blowfish (+any)
   3416 testlib_crypto_blowfish_any_srcs = \
   3417 	$(STDLIB)/crypto/blowfish/blowfish.ha \
   3418 	$(STDLIB)/crypto/blowfish/const.ha \
   3419 	$(STDLIB)/crypto/blowfish/+test.ha
   3420 
   3421 $(TESTCACHE)/crypto/blowfish/crypto_blowfish-any.ssa: $(testlib_crypto_blowfish_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_cipher_$(PLATFORM)) $(testlib_endian_$(PLATFORM))
   3422 	@printf 'HAREC \t$@\n'
   3423 	@mkdir -p $(TESTCACHE)/crypto/blowfish
   3424 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::blowfish \
   3425 		-t$(TESTCACHE)/crypto/blowfish/crypto_blowfish.td $(testlib_crypto_blowfish_any_srcs)
   3426 
   3427 # crypto::bigint (+any)
   3428 testlib_crypto_bigint_any_srcs = \
   3429 	$(STDLIB)/crypto/bigint/arithm.ha \
   3430 	$(STDLIB)/crypto/bigint/encoding.ha \
   3431 	$(STDLIB)/crypto/bigint/monty.ha \
   3432 	$(STDLIB)/crypto/bigint/types.ha \
   3433 	$(STDLIB)/crypto/bigint/util.ha \
   3434 	$(STDLIB)/crypto/bigint/+test/arithm_test.ha \
   3435 	$(STDLIB)/crypto/bigint/+test/encoding_test.ha \
   3436 	$(STDLIB)/crypto/bigint/+test/monty_test.ha \
   3437 	$(STDLIB)/crypto/bigint/+test/utils.ha
   3438 
   3439 $(TESTCACHE)/crypto/bigint/crypto_bigint-any.ssa: $(testlib_crypto_bigint_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM))
   3440 	@printf 'HAREC \t$@\n'
   3441 	@mkdir -p $(TESTCACHE)/crypto/bigint
   3442 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::bigint \
   3443 		-t$(TESTCACHE)/crypto/bigint/crypto_bigint.td $(testlib_crypto_bigint_any_srcs)
   3444 
   3445 # crypto::chacha (+any)
   3446 testlib_crypto_chacha_any_srcs = \
   3447 	$(STDLIB)/crypto/chacha/chacha20.ha \
   3448 	$(STDLIB)/crypto/chacha/+test.ha
   3449 
   3450 $(TESTCACHE)/crypto/chacha/crypto_chacha-any.ssa: $(testlib_crypto_chacha_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_cipher_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   3451 	@printf 'HAREC \t$@\n'
   3452 	@mkdir -p $(TESTCACHE)/crypto/chacha
   3453 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::chacha \
   3454 		-t$(TESTCACHE)/crypto/chacha/crypto_chacha.td $(testlib_crypto_chacha_any_srcs)
   3455 
   3456 # crypto::chachapoly (+any)
   3457 testlib_crypto_chachapoly_any_srcs = \
   3458 	$(STDLIB)/crypto/chachapoly/chachapoly.ha \
   3459 	$(STDLIB)/crypto/chachapoly/encryption+test.ha
   3460 
   3461 $(TESTCACHE)/crypto/chachapoly/crypto_chachapoly-any.ssa: $(testlib_crypto_chachapoly_any_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_chacha_$(PLATFORM)) $(testlib_crypto_mac_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_crypto_poly1305_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_types_$(PLATFORM))
   3462 	@printf 'HAREC \t$@\n'
   3463 	@mkdir -p $(TESTCACHE)/crypto/chachapoly
   3464 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::chachapoly \
   3465 		-t$(TESTCACHE)/crypto/chachapoly/crypto_chachapoly.td $(testlib_crypto_chachapoly_any_srcs)
   3466 
   3467 # crypto::cipher (+any)
   3468 testlib_crypto_cipher_any_srcs = \
   3469 	$(STDLIB)/crypto/cipher/cipher.ha \
   3470 	$(STDLIB)/crypto/cipher/block.ha \
   3471 	$(STDLIB)/crypto/cipher/cbc.ha \
   3472 	$(STDLIB)/crypto/cipher/ctr.ha \
   3473 	$(STDLIB)/crypto/cipher/stream.ha \
   3474 	$(STDLIB)/crypto/cipher/gcm.ha \
   3475 	$(STDLIB)/crypto/cipher/ghash.ha
   3476 
   3477 $(TESTCACHE)/crypto/cipher/crypto_cipher-any.ssa: $(testlib_crypto_cipher_any_srcs) $(testlib_rt) $(testlib_crypto_math_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_types_$(PLATFORM))
   3478 	@printf 'HAREC \t$@\n'
   3479 	@mkdir -p $(TESTCACHE)/crypto/cipher
   3480 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::cipher \
   3481 		-t$(TESTCACHE)/crypto/cipher/crypto_cipher.td $(testlib_crypto_cipher_any_srcs)
   3482 
   3483 # crypto::hkdf (+any)
   3484 testlib_crypto_hkdf_any_srcs = \
   3485 	$(STDLIB)/crypto/hkdf/hkdf.ha \
   3486 	$(STDLIB)/crypto/hkdf/+test.ha
   3487 
   3488 $(TESTCACHE)/crypto/hkdf/crypto_hkdf-any.ssa: $(testlib_crypto_hkdf_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_hmac_$(PLATFORM)) $(testlib_crypto_mac_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_crypto_sha1_$(PLATFORM)) $(testlib_crypto_sha256_$(PLATFORM))
   3489 	@printf 'HAREC \t$@\n'
   3490 	@mkdir -p $(TESTCACHE)/crypto/hkdf
   3491 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::hkdf \
   3492 		-t$(TESTCACHE)/crypto/hkdf/crypto_hkdf.td $(testlib_crypto_hkdf_any_srcs)
   3493 
   3494 # crypto::hmac (+any)
   3495 testlib_crypto_hmac_any_srcs = \
   3496 	$(STDLIB)/crypto/hmac/hmac.ha \
   3497 	$(STDLIB)/crypto/hmac/sha1.ha \
   3498 	$(STDLIB)/crypto/hmac/sha256.ha \
   3499 	$(STDLIB)/crypto/hmac/+test.ha
   3500 
   3501 $(TESTCACHE)/crypto/hmac/crypto_hmac-any.ssa: $(testlib_crypto_hmac_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_mac_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_crypto_sha1_$(PLATFORM)) $(testlib_crypto_sha256_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3502 	@printf 'HAREC \t$@\n'
   3503 	@mkdir -p $(TESTCACHE)/crypto/hmac
   3504 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::hmac \
   3505 		-t$(TESTCACHE)/crypto/hmac/crypto_hmac.td $(testlib_crypto_hmac_any_srcs)
   3506 
   3507 # crypto::mac (+any)
   3508 testlib_crypto_mac_any_srcs = \
   3509 	$(STDLIB)/crypto/mac/mac.ha
   3510 
   3511 $(TESTCACHE)/crypto/mac/crypto_mac-any.ssa: $(testlib_crypto_mac_any_srcs) $(testlib_rt) $(testlib_io_$(PLATFORM))
   3512 	@printf 'HAREC \t$@\n'
   3513 	@mkdir -p $(TESTCACHE)/crypto/mac
   3514 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::mac \
   3515 		-t$(TESTCACHE)/crypto/mac/crypto_mac.td $(testlib_crypto_mac_any_srcs)
   3516 
   3517 # crypto::math (+any)
   3518 testlib_crypto_math_any_srcs = \
   3519 	$(STDLIB)/crypto/math/arithm.ha \
   3520 	$(STDLIB)/crypto/math/bits.ha
   3521 
   3522 $(TESTCACHE)/crypto/math/crypto_math-any.ssa: $(testlib_crypto_math_any_srcs) $(testlib_rt)
   3523 	@printf 'HAREC \t$@\n'
   3524 	@mkdir -p $(TESTCACHE)/crypto/math
   3525 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::math \
   3526 		-t$(TESTCACHE)/crypto/math/crypto_math.td $(testlib_crypto_math_any_srcs)
   3527 
   3528 # crypto::random (+linux)
   3529 testlib_crypto_random_linux_srcs = \
   3530 	$(STDLIB)/crypto/random/+linux.ha \
   3531 	$(STDLIB)/crypto/random/random.ha
   3532 
   3533 $(TESTCACHE)/crypto/random/crypto_random-linux.ssa: $(testlib_crypto_random_linux_srcs) $(testlib_rt) $(testlib_rt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_errors_$(PLATFORM))
   3534 	@printf 'HAREC \t$@\n'
   3535 	@mkdir -p $(TESTCACHE)/crypto/random
   3536 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::random \
   3537 		-t$(TESTCACHE)/crypto/random/crypto_random.td $(testlib_crypto_random_linux_srcs)
   3538 
   3539 # crypto::random (+freebsd)
   3540 testlib_crypto_random_freebsd_srcs = \
   3541 	$(STDLIB)/crypto/random/+freebsd.ha \
   3542 	$(STDLIB)/crypto/random/random.ha
   3543 
   3544 $(TESTCACHE)/crypto/random/crypto_random-freebsd.ssa: $(testlib_crypto_random_freebsd_srcs) $(testlib_rt) $(testlib_rt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_errors_$(PLATFORM))
   3545 	@printf 'HAREC \t$@\n'
   3546 	@mkdir -p $(TESTCACHE)/crypto/random
   3547 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::random \
   3548 		-t$(TESTCACHE)/crypto/random/crypto_random.td $(testlib_crypto_random_freebsd_srcs)
   3549 
   3550 # crypto::rsa (+any)
   3551 testlib_crypto_rsa_any_srcs = \
   3552 	$(STDLIB)/crypto/rsa/core.ha \
   3553 	$(STDLIB)/crypto/rsa/errors.ha \
   3554 	$(STDLIB)/crypto/rsa/keys.ha \
   3555 	$(STDLIB)/crypto/rsa/pkcs1.ha \
   3556 	$(STDLIB)/crypto/rsa/+test/core_test.ha \
   3557 	$(STDLIB)/crypto/rsa/+test/keys_test.ha \
   3558 	$(STDLIB)/crypto/rsa/+test/pkcs1_test.ha
   3559 
   3560 $(TESTCACHE)/crypto/rsa/crypto_rsa-any.ssa: $(testlib_crypto_rsa_any_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_bigint_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_crypto_sha1_$(PLATFORM)) $(testlib_crypto_sha256_$(PLATFORM)) $(testlib_crypto_sha512_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_types_$(PLATFORM))
   3561 	@printf 'HAREC \t$@\n'
   3562 	@mkdir -p $(TESTCACHE)/crypto/rsa
   3563 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::rsa \
   3564 		-t$(TESTCACHE)/crypto/rsa/crypto_rsa.td $(testlib_crypto_rsa_any_srcs)
   3565 
   3566 # crypto::poly1305 (+any)
   3567 testlib_crypto_poly1305_any_srcs = \
   3568 	$(STDLIB)/crypto/poly1305/poly1305.ha \
   3569 	$(STDLIB)/crypto/poly1305/+test.ha
   3570 
   3571 $(TESTCACHE)/crypto/poly1305/crypto_poly1305-any.ssa: $(testlib_crypto_poly1305_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_mac_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_io_$(PLATFORM))
   3572 	@printf 'HAREC \t$@\n'
   3573 	@mkdir -p $(TESTCACHE)/crypto/poly1305
   3574 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::poly1305 \
   3575 		-t$(TESTCACHE)/crypto/poly1305/crypto_poly1305.td $(testlib_crypto_poly1305_any_srcs)
   3576 
   3577 # crypto::salsa (+any)
   3578 testlib_crypto_salsa_any_srcs = \
   3579 	$(STDLIB)/crypto/salsa/salsa20.ha \
   3580 	$(STDLIB)/crypto/salsa/+test.ha
   3581 
   3582 $(TESTCACHE)/crypto/salsa/crypto_salsa-any.ssa: $(testlib_crypto_salsa_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_cipher_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_types_$(PLATFORM))
   3583 	@printf 'HAREC \t$@\n'
   3584 	@mkdir -p $(TESTCACHE)/crypto/salsa
   3585 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::salsa \
   3586 		-t$(TESTCACHE)/crypto/salsa/crypto_salsa.td $(testlib_crypto_salsa_any_srcs)
   3587 
   3588 # crypto::sha1 (+any)
   3589 testlib_crypto_sha1_any_srcs = \
   3590 	$(STDLIB)/crypto/sha1/sha1.ha \
   3591 	$(STDLIB)/crypto/sha1/+test.ha
   3592 
   3593 $(TESTCACHE)/crypto/sha1/crypto_sha1-any.ssa: $(testlib_crypto_sha1_any_srcs) $(testlib_rt) $(testlib_crypto_math_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM))
   3594 	@printf 'HAREC \t$@\n'
   3595 	@mkdir -p $(TESTCACHE)/crypto/sha1
   3596 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::sha1 \
   3597 		-t$(TESTCACHE)/crypto/sha1/crypto_sha1.td $(testlib_crypto_sha1_any_srcs)
   3598 
   3599 # crypto::sha256 (+any)
   3600 testlib_crypto_sha256_any_srcs = \
   3601 	$(STDLIB)/crypto/sha256/sha256.ha \
   3602 	$(STDLIB)/crypto/sha256/+test.ha
   3603 
   3604 $(TESTCACHE)/crypto/sha256/crypto_sha256-any.ssa: $(testlib_crypto_sha256_any_srcs) $(testlib_rt) $(testlib_crypto_math_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM))
   3605 	@printf 'HAREC \t$@\n'
   3606 	@mkdir -p $(TESTCACHE)/crypto/sha256
   3607 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::sha256 \
   3608 		-t$(TESTCACHE)/crypto/sha256/crypto_sha256.td $(testlib_crypto_sha256_any_srcs)
   3609 
   3610 # crypto::sha512 (+any)
   3611 testlib_crypto_sha512_any_srcs = \
   3612 	$(STDLIB)/crypto/sha512/sha512.ha \
   3613 	$(STDLIB)/crypto/sha512/+test.ha
   3614 
   3615 $(TESTCACHE)/crypto/sha512/crypto_sha512-any.ssa: $(testlib_crypto_sha512_any_srcs) $(testlib_rt) $(testlib_crypto_math_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM))
   3616 	@printf 'HAREC \t$@\n'
   3617 	@mkdir -p $(TESTCACHE)/crypto/sha512
   3618 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::sha512 \
   3619 		-t$(TESTCACHE)/crypto/sha512/crypto_sha512.td $(testlib_crypto_sha512_any_srcs)
   3620 
   3621 # crypto::curve25519 (+any)
   3622 testlib_crypto_curve25519_any_srcs = \
   3623 	$(STDLIB)/crypto/curve25519/curve25519.ha \
   3624 	$(STDLIB)/crypto/curve25519/+test.ha
   3625 
   3626 $(TESTCACHE)/crypto/curve25519/crypto_curve25519-any.ssa: $(testlib_crypto_curve25519_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_crypto_random_$(PLATFORM))
   3627 	@printf 'HAREC \t$@\n'
   3628 	@mkdir -p $(TESTCACHE)/crypto/curve25519
   3629 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::curve25519 \
   3630 		-t$(TESTCACHE)/crypto/curve25519/crypto_curve25519.td $(testlib_crypto_curve25519_any_srcs)
   3631 
   3632 # crypto::ed25519 (+any)
   3633 testlib_crypto_ed25519_any_srcs = \
   3634 	$(STDLIB)/crypto/ed25519/ed25519.ha \
   3635 	$(STDLIB)/crypto/ed25519/edwards25519.ha \
   3636 	$(STDLIB)/crypto/ed25519/+test.ha
   3637 
   3638 $(TESTCACHE)/crypto/ed25519/crypto_ed25519-any.ssa: $(testlib_crypto_ed25519_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_sha512_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3639 	@printf 'HAREC \t$@\n'
   3640 	@mkdir -p $(TESTCACHE)/crypto/ed25519
   3641 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::ed25519 \
   3642 		-t$(TESTCACHE)/crypto/ed25519/crypto_ed25519.td $(testlib_crypto_ed25519_any_srcs)
   3643 
   3644 # crypto::x25519 (+any)
   3645 testlib_crypto_x25519_any_srcs = \
   3646 	$(STDLIB)/crypto/x25519/x25519.ha \
   3647 	$(STDLIB)/crypto/x25519/+test.ha
   3648 
   3649 $(TESTCACHE)/crypto/x25519/crypto_x25519-any.ssa: $(testlib_crypto_x25519_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_curve25519_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_crypto_random_$(PLATFORM))
   3650 	@printf 'HAREC \t$@\n'
   3651 	@mkdir -p $(TESTCACHE)/crypto/x25519
   3652 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::x25519 \
   3653 		-t$(TESTCACHE)/crypto/x25519/crypto_x25519.td $(testlib_crypto_x25519_any_srcs)
   3654 
   3655 # dirs (+any)
   3656 testlib_dirs_any_srcs = \
   3657 	$(STDLIB)/dirs/xdg.ha
   3658 
   3659 $(TESTCACHE)/dirs/dirs-any.ssa: $(testlib_dirs_any_srcs) $(testlib_rt) $(testlib_errors_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_path_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_unix_$(PLATFORM))
   3660 	@printf 'HAREC \t$@\n'
   3661 	@mkdir -p $(TESTCACHE)/dirs
   3662 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ndirs \
   3663 		-t$(TESTCACHE)/dirs/dirs.td $(testlib_dirs_any_srcs)
   3664 
   3665 # encoding::base64 (+any)
   3666 testlib_encoding_base64_any_srcs = \
   3667 	$(STDLIB)/encoding/base64/base64.ha
   3668 
   3669 $(TESTCACHE)/encoding/base64/encoding_base64-any.ssa: $(testlib_encoding_base64_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   3670 	@printf 'HAREC \t$@\n'
   3671 	@mkdir -p $(TESTCACHE)/encoding/base64
   3672 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nencoding::base64 \
   3673 		-t$(TESTCACHE)/encoding/base64/encoding_base64.td $(testlib_encoding_base64_any_srcs)
   3674 
   3675 # encoding::base32 (+any)
   3676 testlib_encoding_base32_any_srcs = \
   3677 	$(STDLIB)/encoding/base32/base32.ha
   3678 
   3679 $(TESTCACHE)/encoding/base32/encoding_base32-any.ssa: $(testlib_encoding_base32_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   3680 	@printf 'HAREC \t$@\n'
   3681 	@mkdir -p $(TESTCACHE)/encoding/base32
   3682 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nencoding::base32 \
   3683 		-t$(TESTCACHE)/encoding/base32/encoding_base32.td $(testlib_encoding_base32_any_srcs)
   3684 
   3685 # encoding::hex (+any)
   3686 testlib_encoding_hex_any_srcs = \
   3687 	$(STDLIB)/encoding/hex/hex.ha
   3688 
   3689 $(TESTCACHE)/encoding/hex/encoding_hex-any.ssa: $(testlib_encoding_hex_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3690 	@printf 'HAREC \t$@\n'
   3691 	@mkdir -p $(TESTCACHE)/encoding/hex
   3692 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nencoding::hex \
   3693 		-t$(TESTCACHE)/encoding/hex/encoding_hex.td $(testlib_encoding_hex_any_srcs)
   3694 
   3695 # encoding::pem (+any)
   3696 testlib_encoding_pem_any_srcs = \
   3697 	$(STDLIB)/encoding/pem/pem.ha \
   3698 	$(STDLIB)/encoding/pem/+test.ha
   3699 
   3700 $(TESTCACHE)/encoding/pem/encoding_pem-any.ssa: $(testlib_encoding_pem_any_srcs) $(testlib_rt) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_encoding_base64_$(PLATFORM)) $(testlib_ascii_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_bytes_$(PLATFORM))
   3701 	@printf 'HAREC \t$@\n'
   3702 	@mkdir -p $(TESTCACHE)/encoding/pem
   3703 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nencoding::pem \
   3704 		-t$(TESTCACHE)/encoding/pem/encoding_pem.td $(testlib_encoding_pem_any_srcs)
   3705 
   3706 # encoding::utf8 (+any)
   3707 testlib_encoding_utf8_any_srcs = \
   3708 	$(STDLIB)/encoding/utf8/decode.ha \
   3709 	$(STDLIB)/encoding/utf8/decodetable.ha \
   3710 	$(STDLIB)/encoding/utf8/encode.ha \
   3711 	$(STDLIB)/encoding/utf8/rune.ha
   3712 
   3713 $(TESTCACHE)/encoding/utf8/encoding_utf8-any.ssa: $(testlib_encoding_utf8_any_srcs) $(testlib_rt) $(testlib_types_$(PLATFORM))
   3714 	@printf 'HAREC \t$@\n'
   3715 	@mkdir -p $(TESTCACHE)/encoding/utf8
   3716 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nencoding::utf8 \
   3717 		-t$(TESTCACHE)/encoding/utf8/encoding_utf8.td $(testlib_encoding_utf8_any_srcs)
   3718 
   3719 # endian (+any)
   3720 testlib_endian_any_srcs = \
   3721 	$(STDLIB)/endian/big.ha \
   3722 	$(STDLIB)/endian/network.ha \
   3723 	$(STDLIB)/endian/little.ha \
   3724 	$(STDLIB)/endian/endian.ha \
   3725 	$(STDLIB)/endian/host+$(ARCH).ha
   3726 
   3727 $(TESTCACHE)/endian/endian-any.ssa: $(testlib_endian_any_srcs) $(testlib_rt)
   3728 	@printf 'HAREC \t$@\n'
   3729 	@mkdir -p $(TESTCACHE)/endian
   3730 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nendian \
   3731 		-t$(TESTCACHE)/endian/endian.td $(testlib_endian_any_srcs)
   3732 
   3733 # errors (+any)
   3734 testlib_errors_any_srcs = \
   3735 	$(STDLIB)/errors/common.ha \
   3736 	$(STDLIB)/errors/opaque.ha \
   3737 	$(STDLIB)/errors/string.ha \
   3738 	$(STDLIB)/errors/rt.ha
   3739 
   3740 $(TESTCACHE)/errors/errors-any.ssa: $(testlib_errors_any_srcs) $(testlib_rt) $(testlib_rt_$(PLATFORM))
   3741 	@printf 'HAREC \t$@\n'
   3742 	@mkdir -p $(TESTCACHE)/errors
   3743 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nerrors \
   3744 		-t$(TESTCACHE)/errors/errors.td $(testlib_errors_any_srcs)
   3745 
   3746 # fmt (+any)
   3747 testlib_fmt_any_srcs = \
   3748 	$(STDLIB)/fmt/fmt.ha
   3749 
   3750 $(TESTCACHE)/fmt/fmt-any.ssa: $(testlib_fmt_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_types_$(PLATFORM))
   3751 	@printf 'HAREC \t$@\n'
   3752 	@mkdir -p $(TESTCACHE)/fmt
   3753 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nfmt \
   3754 		-t$(TESTCACHE)/fmt/fmt.td $(testlib_fmt_any_srcs)
   3755 
   3756 # fnmatch (+any)
   3757 testlib_fnmatch_any_srcs = \
   3758 	$(STDLIB)/fnmatch/fnmatch.ha \
   3759 	$(STDLIB)/fnmatch/+test.ha
   3760 
   3761 $(TESTCACHE)/fnmatch/fnmatch-any.ssa: $(testlib_fnmatch_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_sort_$(PLATFORM))
   3762 	@printf 'HAREC \t$@\n'
   3763 	@mkdir -p $(TESTCACHE)/fnmatch
   3764 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nfnmatch \
   3765 		-t$(TESTCACHE)/fnmatch/fnmatch.td $(testlib_fnmatch_any_srcs)
   3766 
   3767 # format::elf (+any)
   3768 testlib_format_elf_any_srcs = \
   3769 	$(STDLIB)/format/elf/arch+$(ARCH).ha \
   3770 	$(STDLIB)/format/elf/platform+$(PLATFORM).ha \
   3771 	$(STDLIB)/format/elf/types.ha
   3772 
   3773 $(TESTCACHE)/format/elf/format_elf-any.ssa: $(testlib_format_elf_any_srcs) $(testlib_rt)
   3774 	@printf 'HAREC \t$@\n'
   3775 	@mkdir -p $(TESTCACHE)/format/elf
   3776 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nformat::elf \
   3777 		-t$(TESTCACHE)/format/elf/format_elf.td $(testlib_format_elf_any_srcs)
   3778 
   3779 # format::ini (+any)
   3780 testlib_format_ini_any_srcs = \
   3781 	$(STDLIB)/format/ini/scan.ha \
   3782 	$(STDLIB)/format/ini/types.ha \
   3783 	$(STDLIB)/format/ini/+test.ha
   3784 
   3785 $(TESTCACHE)/format/ini/format_ini-any.ssa: $(testlib_format_ini_any_srcs) $(testlib_rt) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3786 	@printf 'HAREC \t$@\n'
   3787 	@mkdir -p $(TESTCACHE)/format/ini
   3788 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nformat::ini \
   3789 		-t$(TESTCACHE)/format/ini/format_ini.td $(testlib_format_ini_any_srcs)
   3790 
   3791 # format::tar (+any)
   3792 testlib_format_tar_any_srcs = \
   3793 	$(STDLIB)/format/tar/types.ha \
   3794 	$(STDLIB)/format/tar/reader.ha
   3795 
   3796 $(TESTCACHE)/format/tar/format_tar-any.ssa: $(testlib_format_tar_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_types_c_$(PLATFORM))
   3797 	@printf 'HAREC \t$@\n'
   3798 	@mkdir -p $(TESTCACHE)/format/tar
   3799 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nformat::tar \
   3800 		-t$(TESTCACHE)/format/tar/format_tar.td $(testlib_format_tar_any_srcs)
   3801 
   3802 # fs (+any)
   3803 testlib_fs_any_srcs = \
   3804 	$(STDLIB)/fs/types.ha \
   3805 	$(STDLIB)/fs/fs.ha \
   3806 	$(STDLIB)/fs/util.ha
   3807 
   3808 $(TESTCACHE)/fs/fs-any.ssa: $(testlib_fs_any_srcs) $(testlib_rt) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_path_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_errors_$(PLATFORM))
   3809 	@printf 'HAREC \t$@\n'
   3810 	@mkdir -p $(TESTCACHE)/fs
   3811 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nfs \
   3812 		-t$(TESTCACHE)/fs/fs.td $(testlib_fs_any_srcs)
   3813 
   3814 # getopt (+any)
   3815 testlib_getopt_any_srcs = \
   3816 	$(STDLIB)/getopt/getopts.ha
   3817 
   3818 $(TESTCACHE)/getopt/getopt-any.ssa: $(testlib_getopt_any_srcs) $(testlib_rt) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3819 	@printf 'HAREC \t$@\n'
   3820 	@mkdir -p $(TESTCACHE)/getopt
   3821 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ngetopt \
   3822 		-t$(TESTCACHE)/getopt/getopt.td $(testlib_getopt_any_srcs)
   3823 
   3824 # glob (+any)
   3825 testlib_glob_any_srcs = \
   3826 	$(STDLIB)/glob/glob.ha \
   3827 	$(STDLIB)/glob/+test.ha
   3828 
   3829 $(TESTCACHE)/glob/glob-any.ssa: $(testlib_glob_any_srcs) $(testlib_rt) $(testlib_fnmatch_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_sort_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   3830 	@printf 'HAREC \t$@\n'
   3831 	@mkdir -p $(TESTCACHE)/glob
   3832 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nglob \
   3833 		-t$(TESTCACHE)/glob/glob.td $(testlib_glob_any_srcs)
   3834 
   3835 # hare::ast (+any)
   3836 testlib_hare_ast_any_srcs = \
   3837 	$(STDLIB)/hare/ast/decl.ha \
   3838 	$(STDLIB)/hare/ast/expr.ha \
   3839 	$(STDLIB)/hare/ast/ident.ha \
   3840 	$(STDLIB)/hare/ast/import.ha \
   3841 	$(STDLIB)/hare/ast/type.ha \
   3842 	$(STDLIB)/hare/ast/unit.ha
   3843 
   3844 $(TESTCACHE)/hare/ast/hare_ast-any.ssa: $(testlib_hare_ast_any_srcs) $(testlib_rt) $(testlib_hare_lex_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3845 	@printf 'HAREC \t$@\n'
   3846 	@mkdir -p $(TESTCACHE)/hare/ast
   3847 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhare::ast \
   3848 		-t$(TESTCACHE)/hare/ast/hare_ast.td $(testlib_hare_ast_any_srcs)
   3849 
   3850 # hare::lex (+any)
   3851 testlib_hare_lex_any_srcs = \
   3852 	$(STDLIB)/hare/lex/token.ha \
   3853 	$(STDLIB)/hare/lex/lex.ha \
   3854 	$(STDLIB)/hare/lex/+test.ha
   3855 
   3856 $(TESTCACHE)/hare/lex/hare_lex-any.ssa: $(testlib_hare_lex_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_sort_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_path_$(PLATFORM))
   3857 	@printf 'HAREC \t$@\n'
   3858 	@mkdir -p $(TESTCACHE)/hare/lex
   3859 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhare::lex \
   3860 		-t$(TESTCACHE)/hare/lex/hare_lex.td $(testlib_hare_lex_any_srcs)
   3861 
   3862 # hare::module (+any)
   3863 testlib_hare_module_any_srcs = \
   3864 	$(STDLIB)/hare/module/types.ha \
   3865 	$(STDLIB)/hare/module/context.ha \
   3866 	$(STDLIB)/hare/module/scan.ha \
   3867 	$(STDLIB)/hare/module/manifest.ha \
   3868 	$(STDLIB)/hare/module/walk.ha
   3869 
   3870 $(TESTCACHE)/hare/module/hare_module-any.ssa: $(testlib_hare_module_any_srcs) $(testlib_rt) $(testlib_hare_ast_$(PLATFORM)) $(testlib_hare_lex_$(PLATFORM)) $(testlib_hare_parse_$(PLATFORM)) $(testlib_hare_unparse_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_crypto_sha256_$(PLATFORM)) $(testlib_dirs_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_ascii_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_bufio_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_sort_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_temp_$(PLATFORM)) $(testlib_path_$(PLATFORM))
   3871 	@printf 'HAREC \t$@\n'
   3872 	@mkdir -p $(TESTCACHE)/hare/module
   3873 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhare::module \
   3874 		-t$(TESTCACHE)/hare/module/hare_module.td $(testlib_hare_module_any_srcs)
   3875 
   3876 # hare::parse (+any)
   3877 testlib_hare_parse_any_srcs = \
   3878 	$(STDLIB)/hare/parse/decl.ha \
   3879 	$(STDLIB)/hare/parse/expr.ha \
   3880 	$(STDLIB)/hare/parse/ident.ha \
   3881 	$(STDLIB)/hare/parse/import.ha \
   3882 	$(STDLIB)/hare/parse/parse.ha \
   3883 	$(STDLIB)/hare/parse/type.ha \
   3884 	$(STDLIB)/hare/parse/unit.ha \
   3885 	$(STDLIB)/hare/parse/+test/expr_test.ha \
   3886 	$(STDLIB)/hare/parse/+test/ident_test.ha \
   3887 	$(STDLIB)/hare/parse/+test/loc.ha \
   3888 	$(STDLIB)/hare/parse/+test/roundtrip.ha \
   3889 	$(STDLIB)/hare/parse/+test/types.ha \
   3890 	$(STDLIB)/hare/parse/+test/unit_test.ha
   3891 
   3892 $(TESTCACHE)/hare/parse/hare_parse-any.ssa: $(testlib_hare_parse_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_hare_ast_$(PLATFORM)) $(testlib_hare_lex_$(PLATFORM)) $(testlib_hare_unparse_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_types_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_math_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM))
   3893 	@printf 'HAREC \t$@\n'
   3894 	@mkdir -p $(TESTCACHE)/hare/parse
   3895 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhare::parse \
   3896 		-t$(TESTCACHE)/hare/parse/hare_parse.td $(testlib_hare_parse_any_srcs)
   3897 
   3898 # hare::types (+any)
   3899 testlib_hare_types_any_srcs = \
   3900 	$(STDLIB)/hare/types/+$(ARCH)/writesize.ha \
   3901 	$(STDLIB)/hare/types/arch.ha \
   3902 	$(STDLIB)/hare/types/builtins.ha \
   3903 	$(STDLIB)/hare/types/class.ha \
   3904 	$(STDLIB)/hare/types/hash.ha \
   3905 	$(STDLIB)/hare/types/lookup.ha \
   3906 	$(STDLIB)/hare/types/store.ha \
   3907 	$(STDLIB)/hare/types/types.ha \
   3908 	$(STDLIB)/hare/types/+test.ha
   3909 
   3910 $(TESTCACHE)/hare/types/hare_types-any.ssa: $(testlib_hare_types_any_srcs) $(testlib_rt) $(testlib_hare_ast_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_hash_fnv_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_sort_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_hare_lex_$(PLATFORM)) $(testlib_hare_parse_$(PLATFORM)) $(testlib_io_$(PLATFORM))
   3911 	@printf 'HAREC \t$@\n'
   3912 	@mkdir -p $(TESTCACHE)/hare/types
   3913 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhare::types \
   3914 		-t$(TESTCACHE)/hare/types/hare_types.td $(testlib_hare_types_any_srcs)
   3915 
   3916 # hare::unit (+any)
   3917 testlib_hare_unit_any_srcs = \
   3918 	$(STDLIB)/hare/unit/check.ha \
   3919 	$(STDLIB)/hare/unit/context.ha \
   3920 	$(STDLIB)/hare/unit/errors.ha \
   3921 	$(STDLIB)/hare/unit/expr.ha \
   3922 	$(STDLIB)/hare/unit/process.ha \
   3923 	$(STDLIB)/hare/unit/scan.ha \
   3924 	$(STDLIB)/hare/unit/scope.ha \
   3925 	$(STDLIB)/hare/unit/unit.ha \
   3926 	$(STDLIB)/hare/unit/+test.ha
   3927 
   3928 $(TESTCACHE)/hare/unit/hare_unit-any.ssa: $(testlib_hare_unit_any_srcs) $(testlib_rt) $(testlib_hare_ast_$(PLATFORM)) $(testlib_hare_types_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_hash_fnv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_hare_lex_$(PLATFORM)) $(testlib_hare_parse_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   3929 	@printf 'HAREC \t$@\n'
   3930 	@mkdir -p $(TESTCACHE)/hare/unit
   3931 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhare::unit \
   3932 		-t$(TESTCACHE)/hare/unit/hare_unit.td $(testlib_hare_unit_any_srcs)
   3933 
   3934 # hare::unparse (+any)
   3935 testlib_hare_unparse_any_srcs = \
   3936 	$(STDLIB)/hare/unparse/expr.ha \
   3937 	$(STDLIB)/hare/unparse/decl.ha \
   3938 	$(STDLIB)/hare/unparse/ident.ha \
   3939 	$(STDLIB)/hare/unparse/import.ha \
   3940 	$(STDLIB)/hare/unparse/type.ha \
   3941 	$(STDLIB)/hare/unparse/unit.ha \
   3942 	$(STDLIB)/hare/unparse/util.ha
   3943 
   3944 $(TESTCACHE)/hare/unparse/hare_unparse-any.ssa: $(testlib_hare_unparse_any_srcs) $(testlib_rt) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_hare_ast_$(PLATFORM)) $(testlib_hare_lex_$(PLATFORM))
   3945 	@printf 'HAREC \t$@\n'
   3946 	@mkdir -p $(TESTCACHE)/hare/unparse
   3947 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhare::unparse \
   3948 		-t$(TESTCACHE)/hare/unparse/hare_unparse.td $(testlib_hare_unparse_any_srcs)
   3949 
   3950 # hash (+any)
   3951 testlib_hash_any_srcs = \
   3952 	$(STDLIB)/hash/hash.ha
   3953 
   3954 $(TESTCACHE)/hash/hash-any.ssa: $(testlib_hash_any_srcs) $(testlib_rt) $(testlib_crypto_math_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_fmt_$(PLATFORM))
   3955 	@printf 'HAREC \t$@\n'
   3956 	@mkdir -p $(TESTCACHE)/hash
   3957 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhash \
   3958 		-t$(TESTCACHE)/hash/hash.td $(testlib_hash_any_srcs)
   3959 
   3960 # hash::adler32 (+any)
   3961 testlib_hash_adler32_any_srcs = \
   3962 	$(STDLIB)/hash/adler32/adler32.ha
   3963 
   3964 $(TESTCACHE)/hash/adler32/hash_adler32-any.ssa: $(testlib_hash_adler32_any_srcs) $(testlib_rt) $(testlib_endian_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3965 	@printf 'HAREC \t$@\n'
   3966 	@mkdir -p $(TESTCACHE)/hash/adler32
   3967 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhash::adler32 \
   3968 		-t$(TESTCACHE)/hash/adler32/hash_adler32.td $(testlib_hash_adler32_any_srcs)
   3969 
   3970 # hash::crc16 (+any)
   3971 testlib_hash_crc16_any_srcs = \
   3972 	$(STDLIB)/hash/crc16/crc16.ha
   3973 
   3974 $(TESTCACHE)/hash/crc16/hash_crc16-any.ssa: $(testlib_hash_crc16_any_srcs) $(testlib_rt) $(testlib_endian_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3975 	@printf 'HAREC \t$@\n'
   3976 	@mkdir -p $(TESTCACHE)/hash/crc16
   3977 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhash::crc16 \
   3978 		-t$(TESTCACHE)/hash/crc16/hash_crc16.td $(testlib_hash_crc16_any_srcs)
   3979 
   3980 # hash::crc32 (+any)
   3981 testlib_hash_crc32_any_srcs = \
   3982 	$(STDLIB)/hash/crc32/crc32.ha
   3983 
   3984 $(TESTCACHE)/hash/crc32/hash_crc32-any.ssa: $(testlib_hash_crc32_any_srcs) $(testlib_rt) $(testlib_endian_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3985 	@printf 'HAREC \t$@\n'
   3986 	@mkdir -p $(TESTCACHE)/hash/crc32
   3987 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhash::crc32 \
   3988 		-t$(TESTCACHE)/hash/crc32/hash_crc32.td $(testlib_hash_crc32_any_srcs)
   3989 
   3990 # hash::crc64 (+any)
   3991 testlib_hash_crc64_any_srcs = \
   3992 	$(STDLIB)/hash/crc64/crc64.ha
   3993 
   3994 $(TESTCACHE)/hash/crc64/hash_crc64-any.ssa: $(testlib_hash_crc64_any_srcs) $(testlib_rt) $(testlib_endian_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   3995 	@printf 'HAREC \t$@\n'
   3996 	@mkdir -p $(TESTCACHE)/hash/crc64
   3997 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhash::crc64 \
   3998 		-t$(TESTCACHE)/hash/crc64/hash_crc64.td $(testlib_hash_crc64_any_srcs)
   3999 
   4000 # hash::fnv (+any)
   4001 testlib_hash_fnv_any_srcs = \
   4002 	$(STDLIB)/hash/fnv/+$(ARCH).ha \
   4003 	$(STDLIB)/hash/fnv/fnv.ha
   4004 
   4005 $(TESTCACHE)/hash/fnv/hash_fnv-any.ssa: $(testlib_hash_fnv_any_srcs) $(testlib_rt) $(testlib_endian_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   4006 	@printf 'HAREC \t$@\n'
   4007 	@mkdir -p $(TESTCACHE)/hash/fnv
   4008 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhash::fnv \
   4009 		-t$(TESTCACHE)/hash/fnv/hash_fnv.td $(testlib_hash_fnv_any_srcs)
   4010 
   4011 # hash::siphash (+any)
   4012 testlib_hash_siphash_any_srcs = \
   4013 	$(STDLIB)/hash/siphash/siphash.ha \
   4014 	$(STDLIB)/hash/siphash/+test.ha
   4015 
   4016 $(TESTCACHE)/hash/siphash/hash_siphash-any.ssa: $(testlib_hash_siphash_any_srcs) $(testlib_rt) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   4017 	@printf 'HAREC \t$@\n'
   4018 	@mkdir -p $(TESTCACHE)/hash/siphash
   4019 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nhash::siphash \
   4020 		-t$(TESTCACHE)/hash/siphash/hash_siphash.td $(testlib_hash_siphash_any_srcs)
   4021 
   4022 # io (+linux)
   4023 testlib_io_linux_srcs = \
   4024 	$(STDLIB)/io/arch+$(ARCH).ha \
   4025 	$(STDLIB)/io/+linux/mmap.ha \
   4026 	$(STDLIB)/io/+linux/platform_file.ha \
   4027 	$(STDLIB)/io/+linux/vector.ha \
   4028 	$(STDLIB)/io/copy.ha \
   4029 	$(STDLIB)/io/drain.ha \
   4030 	$(STDLIB)/io/empty.ha \
   4031 	$(STDLIB)/io/file.ha \
   4032 	$(STDLIB)/io/handle.ha \
   4033 	$(STDLIB)/io/limit.ha \
   4034 	$(STDLIB)/io/stream.ha \
   4035 	$(STDLIB)/io/tee.ha \
   4036 	$(STDLIB)/io/types.ha \
   4037 	$(STDLIB)/io/util.ha \
   4038 	$(STDLIB)/io/zero.ha \
   4039 	$(STDLIB)/io/+test/limit_test.ha \
   4040 	$(STDLIB)/io/+test/stream_test.ha
   4041 
   4042 # io (+freebsd)
   4043 testlib_io_freebsd_srcs = \
   4044 	$(STDLIB)/io/arch+$(ARCH).ha \
   4045 	$(STDLIB)/io/+freebsd/mmap.ha \
   4046 	$(STDLIB)/io/+freebsd/platform_file.ha \
   4047 	$(STDLIB)/io/+freebsd/vector.ha \
   4048 	$(STDLIB)/io/copy.ha \
   4049 	$(STDLIB)/io/drain.ha \
   4050 	$(STDLIB)/io/empty.ha \
   4051 	$(STDLIB)/io/file.ha \
   4052 	$(STDLIB)/io/handle.ha \
   4053 	$(STDLIB)/io/limit.ha \
   4054 	$(STDLIB)/io/stream.ha \
   4055 	$(STDLIB)/io/tee.ha \
   4056 	$(STDLIB)/io/types.ha \
   4057 	$(STDLIB)/io/util.ha \
   4058 	$(STDLIB)/io/zero.ha \
   4059 	$(STDLIB)/io/+test/limit_test.ha \
   4060 	$(STDLIB)/io/+test/stream_test.ha
   4061 
   4062 $(TESTCACHE)/io/io-linux.ssa: $(testlib_io_linux_srcs) $(testlib_rt) $(testlib_strings_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   4063 	@printf 'HAREC \t$@\n'
   4064 	@mkdir -p $(TESTCACHE)/io
   4065 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nio \
   4066 		-t$(TESTCACHE)/io/io.td $(testlib_io_linux_srcs)
   4067 
   4068 $(TESTCACHE)/io/io-freebsd.ssa: $(testlib_io_freebsd_srcs) $(testlib_rt) $(testlib_strings_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   4069 	@printf 'HAREC \t$@\n'
   4070 	@mkdir -p $(TESTCACHE)/io
   4071 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nio \
   4072 		-t$(TESTCACHE)/io/io.td $(testlib_io_freebsd_srcs)
   4073 
   4074 # linux (+linux)
   4075 testlib_linux_linux_srcs = \
   4076 	$(STDLIB)/linux/start.ha \
   4077 	$(STDLIB)/linux/env.ha
   4078 
   4079 $(TESTCACHE)/linux/linux-linux.ssa: $(testlib_linux_linux_srcs) $(testlib_rt) $(testlib_format_elf_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   4080 	@printf 'HAREC \t$@\n'
   4081 	@mkdir -p $(TESTCACHE)/linux
   4082 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nlinux \
   4083 		-t$(TESTCACHE)/linux/linux.td $(testlib_linux_linux_srcs)
   4084 
   4085 # linux::keyctl (+linux)
   4086 testlib_linux_keyctl_linux_srcs = \
   4087 	$(STDLIB)/linux/keyctl/keyctl.ha \
   4088 	$(STDLIB)/linux/keyctl/types.ha
   4089 
   4090 $(TESTCACHE)/linux/keyctl/linux_keyctl-linux.ssa: $(testlib_linux_keyctl_linux_srcs) $(testlib_rt) $(testlib_rt_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_types_c_$(PLATFORM))
   4091 	@printf 'HAREC \t$@\n'
   4092 	@mkdir -p $(TESTCACHE)/linux/keyctl
   4093 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nlinux::keyctl \
   4094 		-t$(TESTCACHE)/linux/keyctl/linux_keyctl.td $(testlib_linux_keyctl_linux_srcs)
   4095 
   4096 # linux::timerfd (+linux)
   4097 testlib_linux_timerfd_linux_srcs = \
   4098 	$(STDLIB)/linux/timerfd/timerfd.ha
   4099 
   4100 $(TESTCACHE)/linux/timerfd/linux_timerfd-linux.ssa: $(testlib_linux_timerfd_linux_srcs) $(testlib_rt) $(testlib_errors_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_endian_$(PLATFORM))
   4101 	@printf 'HAREC \t$@\n'
   4102 	@mkdir -p $(TESTCACHE)/linux/timerfd
   4103 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nlinux::timerfd \
   4104 		-t$(TESTCACHE)/linux/timerfd/linux_timerfd.td $(testlib_linux_timerfd_linux_srcs)
   4105 
   4106 # linux::vdso (+linux)
   4107 testlib_linux_vdso_linux_srcs = \
   4108 	$(STDLIB)/linux/vdso/vdso.ha
   4109 
   4110 $(TESTCACHE)/linux/vdso/linux_vdso-linux.ssa: $(testlib_linux_vdso_linux_srcs) $(testlib_rt) $(testlib_linux_$(PLATFORM)) $(testlib_format_elf_$(PLATFORM)) $(testlib_types_c_$(PLATFORM))
   4111 	@printf 'HAREC \t$@\n'
   4112 	@mkdir -p $(TESTCACHE)/linux/vdso
   4113 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nlinux::vdso \
   4114 		-t$(TESTCACHE)/linux/vdso/linux_vdso.td $(testlib_linux_vdso_linux_srcs)
   4115 
   4116 # log (+linux)
   4117 testlib_log_linux_srcs = \
   4118 	$(STDLIB)/log/logger.ha \
   4119 	$(STDLIB)/log/global.ha \
   4120 	$(STDLIB)/log/funcs.ha \
   4121 	$(STDLIB)/log/silent.ha
   4122 
   4123 $(TESTCACHE)/log/log-linux.ssa: $(testlib_log_linux_srcs) $(testlib_rt) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_time_date_$(PLATFORM))
   4124 	@printf 'HAREC \t$@\n'
   4125 	@mkdir -p $(TESTCACHE)/log
   4126 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nlog \
   4127 		-t$(TESTCACHE)/log/log.td $(testlib_log_linux_srcs)
   4128 
   4129 # log (+freebsd)
   4130 testlib_log_freebsd_srcs = \
   4131 	$(STDLIB)/log/logger.ha \
   4132 	$(STDLIB)/log/global.ha \
   4133 	$(STDLIB)/log/funcs.ha \
   4134 	$(STDLIB)/log/silent.ha
   4135 
   4136 $(TESTCACHE)/log/log-freebsd.ssa: $(testlib_log_freebsd_srcs) $(testlib_rt) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_time_date_$(PLATFORM))
   4137 	@printf 'HAREC \t$@\n'
   4138 	@mkdir -p $(TESTCACHE)/log
   4139 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nlog \
   4140 		-t$(TESTCACHE)/log/log.td $(testlib_log_freebsd_srcs)
   4141 
   4142 # math (+any)
   4143 testlib_math_any_srcs = \
   4144 	$(STDLIB)/math/math.ha \
   4145 	$(STDLIB)/math/fenv_func.ha \
   4146 	$(STDLIB)/math/fenv+$(ARCH).ha \
   4147 	$(STDLIB)/math/floats.ha \
   4148 	$(STDLIB)/math/ints.ha \
   4149 	$(STDLIB)/math/uints.ha \
   4150 	$(STDLIB)/math/trig.ha \
   4151 	$(STDLIB)/math/+test/data.ha \
   4152 	$(STDLIB)/math/+test/math_test.ha \
   4153 	$(STDLIB)/math/+test/floats_test.ha \
   4154 	$(STDLIB)/math/+test/trig_test.ha
   4155 
   4156 $(TESTCACHE)/math/math-any.ssa: $(testlib_math_any_srcs) $(testlib_rt) $(testlib_types_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   4157 	@printf 'HAREC \t$@\n'
   4158 	@mkdir -p $(TESTCACHE)/math
   4159 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nmath \
   4160 		-t$(TESTCACHE)/math/math.td $(testlib_math_any_srcs)
   4161 
   4162 # math::checked (+any)
   4163 testlib_math_checked_any_srcs = \
   4164 	$(STDLIB)/math/checked/checked.ha
   4165 
   4166 $(TESTCACHE)/math/checked/math_checked-any.ssa: $(testlib_math_checked_any_srcs) $(testlib_rt) $(testlib_math_$(PLATFORM))
   4167 	@printf 'HAREC \t$@\n'
   4168 	@mkdir -p $(TESTCACHE)/math/checked
   4169 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nmath::checked \
   4170 		-t$(TESTCACHE)/math/checked/math_checked.td $(testlib_math_checked_any_srcs)
   4171 
   4172 # math::complex (+any)
   4173 testlib_math_complex_any_srcs = \
   4174 	$(STDLIB)/math/complex/complex.ha \
   4175 	$(STDLIB)/math/complex/+test.ha
   4176 
   4177 $(TESTCACHE)/math/complex/math_complex-any.ssa: $(testlib_math_complex_any_srcs) $(testlib_rt) $(testlib_math_$(PLATFORM))
   4178 	@printf 'HAREC \t$@\n'
   4179 	@mkdir -p $(TESTCACHE)/math/complex
   4180 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nmath::complex \
   4181 		-t$(TESTCACHE)/math/complex/math_complex.td $(testlib_math_complex_any_srcs)
   4182 
   4183 # math::random (+any)
   4184 testlib_math_random_any_srcs = \
   4185 	$(STDLIB)/math/random/random.ha
   4186 
   4187 $(TESTCACHE)/math/random/math_random-any.ssa: $(testlib_math_random_any_srcs) $(testlib_rt)
   4188 	@printf 'HAREC \t$@\n'
   4189 	@mkdir -p $(TESTCACHE)/math/random
   4190 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nmath::random \
   4191 		-t$(TESTCACHE)/math/random/math_random.td $(testlib_math_random_any_srcs)
   4192 
   4193 # memio (+any)
   4194 testlib_memio_any_srcs = \
   4195 	$(STDLIB)/memio/stream.ha \
   4196 	$(STDLIB)/memio/ops.ha
   4197 
   4198 $(TESTCACHE)/memio/memio-any.ssa: $(testlib_memio_any_srcs) $(testlib_rt) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM))
   4199 	@printf 'HAREC \t$@\n'
   4200 	@mkdir -p $(TESTCACHE)/memio
   4201 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nmemio \
   4202 		-t$(TESTCACHE)/memio/memio.td $(testlib_memio_any_srcs)
   4203 
   4204 # net (+linux)
   4205 testlib_net_linux_srcs = \
   4206 	$(STDLIB)/net/+linux.ha \
   4207 	$(STDLIB)/net/errors.ha \
   4208 	$(STDLIB)/net/msg.ha \
   4209 	$(STDLIB)/net/types.ha
   4210 
   4211 $(TESTCACHE)/net/net-linux.ssa: $(testlib_net_linux_srcs) $(testlib_rt) $(testlib_io_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_fmt_$(PLATFORM))
   4212 	@printf 'HAREC \t$@\n'
   4213 	@mkdir -p $(TESTCACHE)/net
   4214 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet \
   4215 		-t$(TESTCACHE)/net/net.td $(testlib_net_linux_srcs)
   4216 
   4217 # net (+freebsd)
   4218 testlib_net_freebsd_srcs = \
   4219 	$(STDLIB)/net/+freebsd.ha \
   4220 	$(STDLIB)/net/errors.ha \
   4221 	$(STDLIB)/net/msg.ha \
   4222 	$(STDLIB)/net/types.ha
   4223 
   4224 $(TESTCACHE)/net/net-freebsd.ssa: $(testlib_net_freebsd_srcs) $(testlib_rt) $(testlib_io_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_fmt_$(PLATFORM))
   4225 	@printf 'HAREC \t$@\n'
   4226 	@mkdir -p $(TESTCACHE)/net
   4227 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet \
   4228 		-t$(TESTCACHE)/net/net.td $(testlib_net_freebsd_srcs)
   4229 
   4230 # net::dial (+any)
   4231 testlib_net_dial_any_srcs = \
   4232 	$(STDLIB)/net/dial/registry.ha \
   4233 	$(STDLIB)/net/dial/dial.ha \
   4234 	$(STDLIB)/net/dial/ip.ha \
   4235 	$(STDLIB)/net/dial/resolve.ha
   4236 
   4237 $(TESTCACHE)/net/dial/net_dial-any.ssa: $(testlib_net_dial_any_srcs) $(testlib_rt) $(testlib_net_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_net_tcp_$(PLATFORM)) $(testlib_net_udp_$(PLATFORM)) $(testlib_net_dns_$(PLATFORM)) $(testlib_net_uri_$(PLATFORM)) $(testlib_crypto_random_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_unix_hosts_$(PLATFORM))
   4238 	@printf 'HAREC \t$@\n'
   4239 	@mkdir -p $(TESTCACHE)/net/dial
   4240 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::dial \
   4241 		-t$(TESTCACHE)/net/dial/net_dial.td $(testlib_net_dial_any_srcs)
   4242 
   4243 # net::dns (+any)
   4244 testlib_net_dns_any_srcs = \
   4245 	$(STDLIB)/net/dns/decode.ha \
   4246 	$(STDLIB)/net/dns/error.ha \
   4247 	$(STDLIB)/net/dns/encode.ha \
   4248 	$(STDLIB)/net/dns/query.ha \
   4249 	$(STDLIB)/net/dns/strdomain.ha \
   4250 	$(STDLIB)/net/dns/types.ha
   4251 
   4252 $(TESTCACHE)/net/dns/net_dns-any.ssa: $(testlib_net_dns_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_net_$(PLATFORM)) $(testlib_net_udp_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_unix_resolvconf_$(PLATFORM)) $(testlib_unix_poll_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_errors_$(PLATFORM))
   4253 	@printf 'HAREC \t$@\n'
   4254 	@mkdir -p $(TESTCACHE)/net/dns
   4255 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::dns \
   4256 		-t$(TESTCACHE)/net/dns/net_dns.td $(testlib_net_dns_any_srcs)
   4257 
   4258 # net::ip (+linux)
   4259 testlib_net_ip_linux_srcs = \
   4260 	$(STDLIB)/net/ip/+linux.ha \
   4261 	$(STDLIB)/net/ip/ip.ha \
   4262 	$(STDLIB)/net/ip/test+test.ha
   4263 
   4264 # net::ip (+freebsd)
   4265 testlib_net_ip_freebsd_srcs = \
   4266 	$(STDLIB)/net/ip/+freebsd.ha \
   4267 	$(STDLIB)/net/ip/ip.ha \
   4268 	$(STDLIB)/net/ip/test+test.ha
   4269 
   4270 $(TESTCACHE)/net/ip/net_ip-linux.ssa: $(testlib_net_ip_linux_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_fmt_$(PLATFORM))
   4271 	@printf 'HAREC \t$@\n'
   4272 	@mkdir -p $(TESTCACHE)/net/ip
   4273 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::ip \
   4274 		-t$(TESTCACHE)/net/ip/net_ip.td $(testlib_net_ip_linux_srcs)
   4275 
   4276 $(TESTCACHE)/net/ip/net_ip-freebsd.ssa: $(testlib_net_ip_freebsd_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_fmt_$(PLATFORM))
   4277 	@printf 'HAREC \t$@\n'
   4278 	@mkdir -p $(TESTCACHE)/net/ip
   4279 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::ip \
   4280 		-t$(TESTCACHE)/net/ip/net_ip.td $(testlib_net_ip_freebsd_srcs)
   4281 
   4282 # net::tcp (+linux)
   4283 testlib_net_tcp_linux_srcs = \
   4284 	$(STDLIB)/net/tcp/+linux.ha \
   4285 	$(STDLIB)/net/tcp/listener.ha \
   4286 	$(STDLIB)/net/tcp/options.ha
   4287 
   4288 $(TESTCACHE)/net/tcp/net_tcp-linux.ssa: $(testlib_net_tcp_linux_srcs) $(testlib_rt) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_net_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   4289 	@printf 'HAREC \t$@\n'
   4290 	@mkdir -p $(TESTCACHE)/net/tcp
   4291 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::tcp \
   4292 		-t$(TESTCACHE)/net/tcp/net_tcp.td $(testlib_net_tcp_linux_srcs)
   4293 
   4294 # net::tcp (+freebsd)
   4295 testlib_net_tcp_freebsd_srcs = \
   4296 	$(STDLIB)/net/tcp/+freebsd.ha \
   4297 	$(STDLIB)/net/tcp/listener.ha \
   4298 	$(STDLIB)/net/tcp/options.ha
   4299 
   4300 $(TESTCACHE)/net/tcp/net_tcp-freebsd.ssa: $(testlib_net_tcp_freebsd_srcs) $(testlib_rt) $(testlib_errors_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_net_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   4301 	@printf 'HAREC \t$@\n'
   4302 	@mkdir -p $(TESTCACHE)/net/tcp
   4303 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::tcp \
   4304 		-t$(TESTCACHE)/net/tcp/net_tcp.td $(testlib_net_tcp_freebsd_srcs)
   4305 
   4306 # net::udp (+linux)
   4307 testlib_net_udp_linux_srcs = \
   4308 	$(STDLIB)/net/udp/+linux.ha \
   4309 	$(STDLIB)/net/udp/options.ha
   4310 
   4311 $(TESTCACHE)/net/udp/net_udp-linux.ssa: $(testlib_net_udp_linux_srcs) $(testlib_rt) $(testlib_errors_$(PLATFORM)) $(testlib_net_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_io_$(PLATFORM))
   4312 	@printf 'HAREC \t$@\n'
   4313 	@mkdir -p $(TESTCACHE)/net/udp
   4314 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::udp \
   4315 		-t$(TESTCACHE)/net/udp/net_udp.td $(testlib_net_udp_linux_srcs)
   4316 
   4317 # net::udp (+freebsd)
   4318 testlib_net_udp_freebsd_srcs = \
   4319 	$(STDLIB)/net/udp/+freebsd.ha \
   4320 	$(STDLIB)/net/udp/options.ha
   4321 
   4322 $(TESTCACHE)/net/udp/net_udp-freebsd.ssa: $(testlib_net_udp_freebsd_srcs) $(testlib_rt) $(testlib_errors_$(PLATFORM)) $(testlib_net_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_io_$(PLATFORM))
   4323 	@printf 'HAREC \t$@\n'
   4324 	@mkdir -p $(TESTCACHE)/net/udp
   4325 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::udp \
   4326 		-t$(TESTCACHE)/net/udp/net_udp.td $(testlib_net_udp_freebsd_srcs)
   4327 
   4328 # net::unix (+linux)
   4329 testlib_net_unix_linux_srcs = \
   4330 	$(STDLIB)/net/unix/+linux.ha \
   4331 	$(STDLIB)/net/unix/addr.ha \
   4332 	$(STDLIB)/net/unix/cmsg.ha \
   4333 	$(STDLIB)/net/unix/dial.ha \
   4334 	$(STDLIB)/net/unix/listener.ha \
   4335 	$(STDLIB)/net/unix/options.ha \
   4336 	$(STDLIB)/net/unix/socketpair.ha
   4337 
   4338 $(TESTCACHE)/net/unix/net_unix-linux.ssa: $(testlib_net_unix_linux_srcs) $(testlib_rt) $(testlib_net_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_types_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_net_dial_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   4339 	@printf 'HAREC \t$@\n'
   4340 	@mkdir -p $(TESTCACHE)/net/unix
   4341 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::unix \
   4342 		-t$(TESTCACHE)/net/unix/net_unix.td $(testlib_net_unix_linux_srcs)
   4343 
   4344 # net::unix (+freebsd)
   4345 testlib_net_unix_freebsd_srcs = \
   4346 	$(STDLIB)/net/unix/+freebsd.ha \
   4347 	$(STDLIB)/net/unix/addr.ha \
   4348 	$(STDLIB)/net/unix/cmsg.ha \
   4349 	$(STDLIB)/net/unix/dial.ha \
   4350 	$(STDLIB)/net/unix/listener.ha \
   4351 	$(STDLIB)/net/unix/options.ha \
   4352 	$(STDLIB)/net/unix/socketpair.ha
   4353 
   4354 $(TESTCACHE)/net/unix/net_unix-freebsd.ssa: $(testlib_net_unix_freebsd_srcs) $(testlib_rt) $(testlib_net_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_types_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_net_dial_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   4355 	@printf 'HAREC \t$@\n'
   4356 	@mkdir -p $(TESTCACHE)/net/unix
   4357 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::unix \
   4358 		-t$(TESTCACHE)/net/unix/net_unix.td $(testlib_net_unix_freebsd_srcs)
   4359 
   4360 # net::uri (+any)
   4361 testlib_net_uri_any_srcs = \
   4362 	$(STDLIB)/net/uri/fmt.ha \
   4363 	$(STDLIB)/net/uri/parse.ha \
   4364 	$(STDLIB)/net/uri/query.ha \
   4365 	$(STDLIB)/net/uri/uri.ha \
   4366 	$(STDLIB)/net/uri/+test.ha
   4367 
   4368 $(TESTCACHE)/net/uri/net_uri-any.ssa: $(testlib_net_uri_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   4369 	@printf 'HAREC \t$@\n'
   4370 	@mkdir -p $(TESTCACHE)/net/uri
   4371 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nnet::uri \
   4372 		-t$(TESTCACHE)/net/uri/net_uri.td $(testlib_net_uri_any_srcs)
   4373 
   4374 # os (+linux)
   4375 testlib_os_linux_srcs = \
   4376 	$(STDLIB)/os/+linux/dirfdfs.ha \
   4377 	$(STDLIB)/os/+linux/platform_environ.ha \
   4378 	$(STDLIB)/os/+linux/exit+test.ha \
   4379 	$(STDLIB)/os/+linux/fs.ha \
   4380 	$(STDLIB)/os/+linux/memory.ha \
   4381 	$(STDLIB)/os/+linux/status.ha \
   4382 	$(STDLIB)/os/+linux/stdfd.ha \
   4383 	$(STDLIB)/os/environ.ha \
   4384 	$(STDLIB)/os/os.ha
   4385 
   4386 $(TESTCACHE)/os/os-linux.ssa: $(testlib_os_linux_srcs) $(testlib_rt) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_bufio_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_math_$(PLATFORM)) $(testlib_types_c_$(PLATFORM))
   4387 	@printf 'HAREC \t$@\n'
   4388 	@mkdir -p $(TESTCACHE)/os
   4389 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nos \
   4390 		-t$(TESTCACHE)/os/os.td $(testlib_os_linux_srcs)
   4391 
   4392 # os (+freebsd)
   4393 testlib_os_freebsd_srcs = \
   4394 	$(STDLIB)/os/+freebsd/platform_environ.ha \
   4395 	$(STDLIB)/os/+freebsd/exit+test.ha \
   4396 	$(STDLIB)/os/+freebsd/dirfdfs.ha \
   4397 	$(STDLIB)/os/+freebsd/status.ha \
   4398 	$(STDLIB)/os/+freebsd/stdfd.ha \
   4399 	$(STDLIB)/os/+freebsd/fs.ha \
   4400 	$(STDLIB)/os/environ.ha \
   4401 	$(STDLIB)/os/os.ha
   4402 
   4403 $(TESTCACHE)/os/os-freebsd.ssa: $(testlib_os_freebsd_srcs) $(testlib_rt) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_bufio_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_types_c_$(PLATFORM))
   4404 	@printf 'HAREC \t$@\n'
   4405 	@mkdir -p $(TESTCACHE)/os
   4406 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nos \
   4407 		-t$(TESTCACHE)/os/os.td $(testlib_os_freebsd_srcs)
   4408 
   4409 # os::exec (+linux)
   4410 testlib_os_exec_linux_srcs = \
   4411 	$(STDLIB)/os/exec/exec+linux.ha \
   4412 	$(STDLIB)/os/exec/process+linux.ha \
   4413 	$(STDLIB)/os/exec/types.ha \
   4414 	$(STDLIB)/os/exec/cmd.ha
   4415 
   4416 $(TESTCACHE)/os/exec/os_exec-linux.ssa: $(testlib_os_exec_linux_srcs) $(testlib_rt) $(testlib_os_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_unix_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_ascii_$(PLATFORM)) $(testlib_unix_signal_$(PLATFORM)) $(testlib_types_c_$(PLATFORM)) $(testlib_time_$(PLATFORM))
   4417 	@printf 'HAREC \t$@\n'
   4418 	@mkdir -p $(TESTCACHE)/os/exec
   4419 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nos::exec \
   4420 		-t$(TESTCACHE)/os/exec/os_exec.td $(testlib_os_exec_linux_srcs)
   4421 
   4422 # os::exec (+freebsd)
   4423 testlib_os_exec_freebsd_srcs = \
   4424 	$(STDLIB)/os/exec/exec+freebsd.ha \
   4425 	$(STDLIB)/os/exec/process+freebsd.ha \
   4426 	$(STDLIB)/os/exec/types.ha \
   4427 	$(STDLIB)/os/exec/cmd.ha
   4428 
   4429 $(TESTCACHE)/os/exec/os_exec-freebsd.ssa: $(testlib_os_exec_freebsd_srcs) $(testlib_rt) $(testlib_os_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_unix_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_ascii_$(PLATFORM)) $(testlib_unix_signal_$(PLATFORM)) $(testlib_types_c_$(PLATFORM)) $(testlib_time_$(PLATFORM))
   4430 	@printf 'HAREC \t$@\n'
   4431 	@mkdir -p $(TESTCACHE)/os/exec
   4432 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nos::exec \
   4433 		-t$(TESTCACHE)/os/exec/os_exec.td $(testlib_os_exec_freebsd_srcs)
   4434 
   4435 # path (+any)
   4436 testlib_path_any_srcs = \
   4437 	$(STDLIB)/path/+$(PLATFORM).ha \
   4438 	$(STDLIB)/path/buffer.ha \
   4439 	$(STDLIB)/path/error.ha \
   4440 	$(STDLIB)/path/stack.ha \
   4441 	$(STDLIB)/path/ext_stack.ha \
   4442 	$(STDLIB)/path/posix.ha \
   4443 	$(STDLIB)/path/prefix.ha \
   4444 	$(STDLIB)/path/iter.ha
   4445 
   4446 $(TESTCACHE)/path/path-any.ssa: $(testlib_path_any_srcs) $(testlib_rt) $(testlib_strings_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_errors_$(PLATFORM))
   4447 	@printf 'HAREC \t$@\n'
   4448 	@mkdir -p $(TESTCACHE)/path
   4449 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Npath \
   4450 		-t$(TESTCACHE)/path/path.td $(testlib_path_any_srcs)
   4451 
   4452 # regex (+any)
   4453 testlib_regex_any_srcs = \
   4454 	$(STDLIB)/regex/regex.ha \
   4455 	$(STDLIB)/regex/+test.ha
   4456 
   4457 $(TESTCACHE)/regex/regex-any.ssa: $(testlib_regex_any_srcs) $(testlib_rt) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_bufio_$(PLATFORM)) $(testlib_types_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   4458 	@printf 'HAREC \t$@\n'
   4459 	@mkdir -p $(TESTCACHE)/regex
   4460 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nregex \
   4461 		-t$(TESTCACHE)/regex/regex.td $(testlib_regex_any_srcs)
   4462 
   4463 # shlex (+any)
   4464 testlib_shlex_any_srcs = \
   4465 	$(STDLIB)/shlex/escape.ha \
   4466 	$(STDLIB)/shlex/split.ha \
   4467 	$(STDLIB)/shlex/+test.ha
   4468 
   4469 $(TESTCACHE)/shlex/shlex-any.ssa: $(testlib_shlex_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   4470 	@printf 'HAREC \t$@\n'
   4471 	@mkdir -p $(TESTCACHE)/shlex
   4472 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nshlex \
   4473 		-t$(TESTCACHE)/shlex/shlex.td $(testlib_shlex_any_srcs)
   4474 
   4475 # sort (+any)
   4476 testlib_sort_any_srcs = \
   4477 	$(STDLIB)/sort/bisect.ha \
   4478 	$(STDLIB)/sort/search.ha \
   4479 	$(STDLIB)/sort/sort.ha \
   4480 	$(STDLIB)/sort/types.ha \
   4481 	$(STDLIB)/sort/+test.ha
   4482 
   4483 $(TESTCACHE)/sort/sort-any.ssa: $(testlib_sort_any_srcs) $(testlib_rt) $(testlib_strings_$(PLATFORM)) $(testlib_types_$(PLATFORM))
   4484 	@printf 'HAREC \t$@\n'
   4485 	@mkdir -p $(TESTCACHE)/sort
   4486 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nsort \
   4487 		-t$(TESTCACHE)/sort/sort.td $(testlib_sort_any_srcs)
   4488 
   4489 # strconv (+any)
   4490 testlib_strconv_any_srcs = \
   4491 	$(STDLIB)/strconv/types.ha \
   4492 	$(STDLIB)/strconv/itos.ha \
   4493 	$(STDLIB)/strconv/utos.ha \
   4494 	$(STDLIB)/strconv/stou.ha \
   4495 	$(STDLIB)/strconv/stoi.ha \
   4496 	$(STDLIB)/strconv/numeric.ha \
   4497 	$(STDLIB)/strconv/ftos.ha \
   4498 	$(STDLIB)/strconv/stof.ha \
   4499 	$(STDLIB)/strconv/stof_data.ha \
   4500 	$(STDLIB)/strconv/+test/stou_test.ha \
   4501 	$(STDLIB)/strconv/+test/stoi_test.ha
   4502 
   4503 $(TESTCACHE)/strconv/strconv-any.ssa: $(testlib_strconv_any_srcs) $(testlib_rt) $(testlib_types_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_ascii_$(PLATFORM)) $(testlib_math_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM))
   4504 	@printf 'HAREC \t$@\n'
   4505 	@mkdir -p $(TESTCACHE)/strconv
   4506 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nstrconv \
   4507 		-t$(TESTCACHE)/strconv/strconv.td $(testlib_strconv_any_srcs)
   4508 
   4509 # strings (+any)
   4510 testlib_strings_any_srcs = \
   4511 	$(STDLIB)/strings/concat.ha \
   4512 	$(STDLIB)/strings/contains.ha \
   4513 	$(STDLIB)/strings/dup.ha \
   4514 	$(STDLIB)/strings/iter.ha \
   4515 	$(STDLIB)/strings/runes.ha \
   4516 	$(STDLIB)/strings/sub.ha \
   4517 	$(STDLIB)/strings/suffix.ha \
   4518 	$(STDLIB)/strings/tokenize.ha \
   4519 	$(STDLIB)/strings/utf8.ha \
   4520 	$(STDLIB)/strings/index.ha \
   4521 	$(STDLIB)/strings/trim.ha \
   4522 	$(STDLIB)/strings/compare.ha \
   4523 	$(STDLIB)/strings/pad.ha \
   4524 	$(STDLIB)/strings/replace.ha
   4525 
   4526 $(TESTCACHE)/strings/strings-any.ssa: $(testlib_strings_any_srcs) $(testlib_rt) $(testlib_bytes_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_types_$(PLATFORM))
   4527 	@printf 'HAREC \t$@\n'
   4528 	@mkdir -p $(TESTCACHE)/strings
   4529 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nstrings \
   4530 		-t$(TESTCACHE)/strings/strings.td $(testlib_strings_any_srcs)
   4531 
   4532 # strings::template (+any)
   4533 testlib_strings_template_any_srcs = \
   4534 	$(STDLIB)/strings/template/template.ha
   4535 
   4536 $(TESTCACHE)/strings/template/strings_template-any.ssa: $(testlib_strings_template_any_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   4537 	@printf 'HAREC \t$@\n'
   4538 	@mkdir -p $(TESTCACHE)/strings/template
   4539 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nstrings::template \
   4540 		-t$(TESTCACHE)/strings/template/strings_template.td $(testlib_strings_template_any_srcs)
   4541 
   4542 # temp (+linux)
   4543 testlib_temp_linux_srcs = \
   4544 	$(STDLIB)/temp/+linux.ha
   4545 
   4546 $(TESTCACHE)/temp/temp-linux.ssa: $(testlib_temp_linux_srcs) $(testlib_rt) $(testlib_crypto_random_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_path_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_fmt_$(PLATFORM))
   4547 	@printf 'HAREC \t$@\n'
   4548 	@mkdir -p $(TESTCACHE)/temp
   4549 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntemp \
   4550 		-t$(TESTCACHE)/temp/temp.td $(testlib_temp_linux_srcs)
   4551 
   4552 # temp (+freebsd)
   4553 testlib_temp_freebsd_srcs = \
   4554 	$(STDLIB)/temp/+freebsd.ha
   4555 
   4556 $(TESTCACHE)/temp/temp-freebsd.ssa: $(testlib_temp_freebsd_srcs) $(testlib_rt) $(testlib_crypto_random_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_path_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_fmt_$(PLATFORM))
   4557 	@printf 'HAREC \t$@\n'
   4558 	@mkdir -p $(TESTCACHE)/temp
   4559 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntemp \
   4560 		-t$(TESTCACHE)/temp/temp.td $(testlib_temp_freebsd_srcs)
   4561 
   4562 # test (+any)
   4563 testlib_test_any_srcs = \
   4564 	$(STDLIB)/test/common.ha \
   4565 	$(STDLIB)/test/+test.ha \
   4566 	$(STDLIB)/test/fail+test.ha
   4567 
   4568 $(TESTCACHE)/test/test-any.ssa: $(testlib_test_any_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_encoding_hex_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_fnmatch_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_unix_signal_$(PLATFORM))
   4569 	@printf 'HAREC \t$@\n'
   4570 	@mkdir -p $(TESTCACHE)/test
   4571 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntest \
   4572 		-t$(TESTCACHE)/test/test.td $(testlib_test_any_srcs)
   4573 
   4574 # time (+linux)
   4575 testlib_time_linux_srcs = \
   4576 	$(STDLIB)/time/+linux/functions.ha \
   4577 	$(STDLIB)/time/+linux/+$(ARCH).ha \
   4578 	$(STDLIB)/time/arithm.ha \
   4579 	$(STDLIB)/time/conv.ha \
   4580 	$(STDLIB)/time/types.ha
   4581 
   4582 $(TESTCACHE)/time/time-linux.ssa: $(testlib_time_linux_srcs) $(testlib_rt) $(testlib_linux_vdso_$(PLATFORM)) $(testlib_math_$(PLATFORM))
   4583 	@printf 'HAREC \t$@\n'
   4584 	@mkdir -p $(TESTCACHE)/time
   4585 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntime \
   4586 		-t$(TESTCACHE)/time/time.td $(testlib_time_linux_srcs)
   4587 
   4588 # time (+freebsd)
   4589 testlib_time_freebsd_srcs = \
   4590 	$(STDLIB)/time/+freebsd/functions.ha \
   4591 	$(STDLIB)/time/arithm.ha \
   4592 	$(STDLIB)/time/conv.ha \
   4593 	$(STDLIB)/time/types.ha
   4594 
   4595 $(TESTCACHE)/time/time-freebsd.ssa: $(testlib_time_freebsd_srcs) $(testlib_rt) $(testlib_math_$(PLATFORM))
   4596 	@printf 'HAREC \t$@\n'
   4597 	@mkdir -p $(TESTCACHE)/time
   4598 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntime \
   4599 		-t$(TESTCACHE)/time/time.td $(testlib_time_freebsd_srcs)
   4600 
   4601 # time::chrono (+linux)
   4602 testlib_time_chrono_linux_srcs = \
   4603 	$(STDLIB)/time/chrono/arithmetic.ha \
   4604 	$(STDLIB)/time/chrono/+linux.ha \
   4605 	$(STDLIB)/time/chrono/chronology.ha \
   4606 	$(STDLIB)/time/chrono/error.ha \
   4607 	$(STDLIB)/time/chrono/leapsec.ha \
   4608 	$(STDLIB)/time/chrono/timescale.ha \
   4609 	$(STDLIB)/time/chrono/timezone.ha \
   4610 	$(STDLIB)/time/chrono/tzdb.ha
   4611 
   4612 $(TESTCACHE)/time/chrono/time_chrono-linux.ssa: $(testlib_time_chrono_linux_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_path_$(PLATFORM))
   4613 	@printf 'HAREC \t$@\n'
   4614 	@mkdir -p $(TESTCACHE)/time/chrono
   4615 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntime::chrono \
   4616 		-t$(TESTCACHE)/time/chrono/time_chrono.td $(testlib_time_chrono_linux_srcs)
   4617 
   4618 # time::chrono (+freebsd)
   4619 testlib_time_chrono_freebsd_srcs = \
   4620 	$(STDLIB)/time/chrono/arithmetic.ha \
   4621 	$(STDLIB)/time/chrono/+freebsd.ha \
   4622 	$(STDLIB)/time/chrono/chronology.ha \
   4623 	$(STDLIB)/time/chrono/error.ha \
   4624 	$(STDLIB)/time/chrono/leapsec.ha \
   4625 	$(STDLIB)/time/chrono/timescale.ha \
   4626 	$(STDLIB)/time/chrono/timezone.ha \
   4627 	$(STDLIB)/time/chrono/tzdb.ha
   4628 
   4629 $(TESTCACHE)/time/chrono/time_chrono-freebsd.ssa: $(testlib_time_chrono_freebsd_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_path_$(PLATFORM))
   4630 	@printf 'HAREC \t$@\n'
   4631 	@mkdir -p $(TESTCACHE)/time/chrono
   4632 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntime::chrono \
   4633 		-t$(TESTCACHE)/time/chrono/time_chrono.td $(testlib_time_chrono_freebsd_srcs)
   4634 
   4635 # time::date (+linux)
   4636 testlib_time_date_linux_srcs = \
   4637 	$(STDLIB)/time/date/date.ha \
   4638 	$(STDLIB)/time/date/daydate.ha \
   4639 	$(STDLIB)/time/date/daytime.ha \
   4640 	$(STDLIB)/time/date/error.ha \
   4641 	$(STDLIB)/time/date/format.ha \
   4642 	$(STDLIB)/time/date/locality.ha \
   4643 	$(STDLIB)/time/date/observe.ha \
   4644 	$(STDLIB)/time/date/parithm.ha \
   4645 	$(STDLIB)/time/date/parse.ha \
   4646 	$(STDLIB)/time/date/period.ha \
   4647 	$(STDLIB)/time/date/reckon.ha \
   4648 	$(STDLIB)/time/date/tarithm.ha \
   4649 	$(STDLIB)/time/date/virtual.ha
   4650 
   4651 $(TESTCACHE)/time/date/time_date-linux.ssa: $(testlib_time_date_linux_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_time_chrono_$(PLATFORM))
   4652 	@printf 'HAREC \t$@\n'
   4653 	@mkdir -p $(TESTCACHE)/time/date
   4654 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntime::date \
   4655 		-t$(TESTCACHE)/time/date/time_date.td $(testlib_time_date_linux_srcs)
   4656 
   4657 # time::date (+freebsd)
   4658 testlib_time_date_freebsd_srcs = \
   4659 	$(STDLIB)/time/date/date.ha \
   4660 	$(STDLIB)/time/date/daydate.ha \
   4661 	$(STDLIB)/time/date/daytime.ha \
   4662 	$(STDLIB)/time/date/error.ha \
   4663 	$(STDLIB)/time/date/format.ha \
   4664 	$(STDLIB)/time/date/locality.ha \
   4665 	$(STDLIB)/time/date/observe.ha \
   4666 	$(STDLIB)/time/date/parithm.ha \
   4667 	$(STDLIB)/time/date/parse.ha \
   4668 	$(STDLIB)/time/date/period.ha \
   4669 	$(STDLIB)/time/date/reckon.ha \
   4670 	$(STDLIB)/time/date/tarithm.ha \
   4671 	$(STDLIB)/time/date/virtual.ha
   4672 
   4673 $(TESTCACHE)/time/date/time_date-freebsd.ssa: $(testlib_time_date_freebsd_srcs) $(testlib_rt) $(testlib_ascii_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_time_chrono_$(PLATFORM))
   4674 	@printf 'HAREC \t$@\n'
   4675 	@mkdir -p $(TESTCACHE)/time/date
   4676 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntime::date \
   4677 		-t$(TESTCACHE)/time/date/time_date.td $(testlib_time_date_freebsd_srcs)
   4678 
   4679 # types (+any)
   4680 testlib_types_any_srcs = \
   4681 	$(STDLIB)/types/limits.ha \
   4682 	$(STDLIB)/types/classes.ha \
   4683 	$(STDLIB)/types/arch+$(ARCH).ha
   4684 
   4685 $(TESTCACHE)/types/types-any.ssa: $(testlib_types_any_srcs) $(testlib_rt)
   4686 	@printf 'HAREC \t$@\n'
   4687 	@mkdir -p $(TESTCACHE)/types
   4688 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntypes \
   4689 		-t$(TESTCACHE)/types/types.td $(testlib_types_any_srcs)
   4690 
   4691 # types::c (+any)
   4692 testlib_types_c_any_srcs = \
   4693 	$(STDLIB)/types/c/+test.ha \
   4694 	$(STDLIB)/types/c/strings.ha \
   4695 	$(STDLIB)/types/c/types.ha \
   4696 	$(STDLIB)/types/c/arch+$(ARCH).ha
   4697 
   4698 $(TESTCACHE)/types/c/types_c-any.ssa: $(testlib_types_c_any_srcs) $(testlib_rt) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_types_$(PLATFORM))
   4699 	@printf 'HAREC \t$@\n'
   4700 	@mkdir -p $(TESTCACHE)/types/c
   4701 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ntypes::c \
   4702 		-t$(TESTCACHE)/types/c/types_c.td $(testlib_types_c_any_srcs)
   4703 
   4704 # unix (+linux)
   4705 testlib_unix_linux_srcs = \
   4706 	$(STDLIB)/unix/+linux/nice.ha \
   4707 	$(STDLIB)/unix/+linux/pipe.ha \
   4708 	$(STDLIB)/unix/+linux/umask.ha \
   4709 	$(STDLIB)/unix/+linux/getuid.ha \
   4710 	$(STDLIB)/unix/+linux/setuid.ha \
   4711 	$(STDLIB)/unix/+linux/groups.ha
   4712 
   4713 $(TESTCACHE)/unix/unix-linux.ssa: $(testlib_unix_linux_srcs) $(testlib_rt) $(testlib_errors_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM))
   4714 	@printf 'HAREC \t$@\n'
   4715 	@mkdir -p $(TESTCACHE)/unix
   4716 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix \
   4717 		-t$(TESTCACHE)/unix/unix.td $(testlib_unix_linux_srcs)
   4718 
   4719 # unix (+freebsd)
   4720 testlib_unix_freebsd_srcs = \
   4721 	$(STDLIB)/unix/+freebsd/nice.ha \
   4722 	$(STDLIB)/unix/+freebsd/pipe.ha \
   4723 	$(STDLIB)/unix/+freebsd/umask.ha \
   4724 	$(STDLIB)/unix/+freebsd/getuid.ha \
   4725 	$(STDLIB)/unix/+freebsd/setuid.ha \
   4726 	$(STDLIB)/unix/+freebsd/groups.ha
   4727 
   4728 $(TESTCACHE)/unix/unix-freebsd.ssa: $(testlib_unix_freebsd_srcs) $(testlib_rt) $(testlib_errors_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM))
   4729 	@printf 'HAREC \t$@\n'
   4730 	@mkdir -p $(TESTCACHE)/unix
   4731 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix \
   4732 		-t$(TESTCACHE)/unix/unix.td $(testlib_unix_freebsd_srcs)
   4733 
   4734 # unix::hosts (+linux)
   4735 testlib_unix_hosts_linux_srcs = \
   4736 	$(STDLIB)/unix/hosts/+linux.ha \
   4737 	$(STDLIB)/unix/hosts/test+test.ha \
   4738 	$(STDLIB)/unix/hosts/hosts.ha
   4739 
   4740 $(TESTCACHE)/unix/hosts/unix_hosts-linux.ssa: $(testlib_unix_hosts_linux_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   4741 	@printf 'HAREC \t$@\n'
   4742 	@mkdir -p $(TESTCACHE)/unix/hosts
   4743 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::hosts \
   4744 		-t$(TESTCACHE)/unix/hosts/unix_hosts.td $(testlib_unix_hosts_linux_srcs)
   4745 
   4746 # unix::hosts (+freebsd)
   4747 testlib_unix_hosts_freebsd_srcs = \
   4748 	$(STDLIB)/unix/hosts/+freebsd.ha \
   4749 	$(STDLIB)/unix/hosts/test+test.ha \
   4750 	$(STDLIB)/unix/hosts/hosts.ha
   4751 
   4752 $(TESTCACHE)/unix/hosts/unix_hosts-freebsd.ssa: $(testlib_unix_hosts_freebsd_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_encoding_utf8_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   4753 	@printf 'HAREC \t$@\n'
   4754 	@mkdir -p $(TESTCACHE)/unix/hosts
   4755 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::hosts \
   4756 		-t$(TESTCACHE)/unix/hosts/unix_hosts.td $(testlib_unix_hosts_freebsd_srcs)
   4757 
   4758 # unix::passwd (+any)
   4759 testlib_unix_passwd_any_srcs = \
   4760 	$(STDLIB)/unix/passwd/group.ha \
   4761 	$(STDLIB)/unix/passwd/passwd.ha \
   4762 	$(STDLIB)/unix/passwd/types.ha
   4763 
   4764 $(TESTCACHE)/unix/passwd/unix_passwd-any.ssa: $(testlib_unix_passwd_any_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_strconv_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_memio_$(PLATFORM))
   4765 	@printf 'HAREC \t$@\n'
   4766 	@mkdir -p $(TESTCACHE)/unix/passwd
   4767 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::passwd \
   4768 		-t$(TESTCACHE)/unix/passwd/unix_passwd.td $(testlib_unix_passwd_any_srcs)
   4769 
   4770 # unix::poll (+linux)
   4771 testlib_unix_poll_linux_srcs = \
   4772 	$(STDLIB)/unix/poll/+linux.ha \
   4773 	$(STDLIB)/unix/poll/types.ha
   4774 
   4775 $(TESTCACHE)/unix/poll/unix_poll-linux.ssa: $(testlib_unix_poll_linux_srcs) $(testlib_rt) $(testlib_rt_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_io_$(PLATFORM))
   4776 	@printf 'HAREC \t$@\n'
   4777 	@mkdir -p $(TESTCACHE)/unix/poll
   4778 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::poll \
   4779 		-t$(TESTCACHE)/unix/poll/unix_poll.td $(testlib_unix_poll_linux_srcs)
   4780 
   4781 # unix::poll (+freebsd)
   4782 testlib_unix_poll_freebsd_srcs = \
   4783 	$(STDLIB)/unix/poll/+freebsd.ha \
   4784 	$(STDLIB)/unix/poll/types.ha
   4785 
   4786 $(TESTCACHE)/unix/poll/unix_poll-freebsd.ssa: $(testlib_unix_poll_freebsd_srcs) $(testlib_rt) $(testlib_rt_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_time_$(PLATFORM)) $(testlib_io_$(PLATFORM))
   4787 	@printf 'HAREC \t$@\n'
   4788 	@mkdir -p $(TESTCACHE)/unix/poll
   4789 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::poll \
   4790 		-t$(TESTCACHE)/unix/poll/unix_poll.td $(testlib_unix_poll_freebsd_srcs)
   4791 
   4792 # unix::resolvconf (+linux)
   4793 testlib_unix_resolvconf_linux_srcs = \
   4794 	$(STDLIB)/unix/resolvconf/+linux.ha \
   4795 	$(STDLIB)/unix/resolvconf/load.ha
   4796 
   4797 $(TESTCACHE)/unix/resolvconf/unix_resolvconf-linux.ssa: $(testlib_unix_resolvconf_linux_srcs) $(testlib_rt) $(testlib_os_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_bufio_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   4798 	@printf 'HAREC \t$@\n'
   4799 	@mkdir -p $(TESTCACHE)/unix/resolvconf
   4800 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::resolvconf \
   4801 		-t$(TESTCACHE)/unix/resolvconf/unix_resolvconf.td $(testlib_unix_resolvconf_linux_srcs)
   4802 
   4803 # unix::resolvconf (+freebsd)
   4804 testlib_unix_resolvconf_freebsd_srcs = \
   4805 	$(STDLIB)/unix/resolvconf/+freebsd.ha \
   4806 	$(STDLIB)/unix/resolvconf/load.ha
   4807 
   4808 $(TESTCACHE)/unix/resolvconf/unix_resolvconf-freebsd.ssa: $(testlib_unix_resolvconf_freebsd_srcs) $(testlib_rt) $(testlib_os_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_bufio_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_net_ip_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   4809 	@printf 'HAREC \t$@\n'
   4810 	@mkdir -p $(TESTCACHE)/unix/resolvconf
   4811 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::resolvconf \
   4812 		-t$(TESTCACHE)/unix/resolvconf/unix_resolvconf.td $(testlib_unix_resolvconf_freebsd_srcs)
   4813 
   4814 # unix::signal (+linux)
   4815 testlib_unix_signal_linux_srcs = \
   4816 	$(STDLIB)/unix/signal/types.ha \
   4817 	$(STDLIB)/unix/signal/+linux.ha
   4818 
   4819 $(TESTCACHE)/unix/signal/unix_signal-linux.ssa: $(testlib_unix_signal_linux_srcs) $(testlib_rt) $(testlib_io_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   4820 	@printf 'HAREC \t$@\n'
   4821 	@mkdir -p $(TESTCACHE)/unix/signal
   4822 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::signal \
   4823 		-t$(TESTCACHE)/unix/signal/unix_signal.td $(testlib_unix_signal_linux_srcs)
   4824 
   4825 # unix::signal (+freebsd)
   4826 testlib_unix_signal_freebsd_srcs = \
   4827 	$(STDLIB)/unix/signal/types.ha \
   4828 	$(STDLIB)/unix/signal/+freebsd.ha
   4829 
   4830 $(TESTCACHE)/unix/signal/unix_signal-freebsd.ssa: $(testlib_unix_signal_freebsd_srcs) $(testlib_rt) $(testlib_io_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_rt_$(PLATFORM))
   4831 	@printf 'HAREC \t$@\n'
   4832 	@mkdir -p $(TESTCACHE)/unix/signal
   4833 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::signal \
   4834 		-t$(TESTCACHE)/unix/signal/unix_signal.td $(testlib_unix_signal_freebsd_srcs)
   4835 
   4836 # unix::tty (+linux)
   4837 testlib_unix_tty_linux_srcs = \
   4838 	$(STDLIB)/unix/tty/types.ha \
   4839 	$(STDLIB)/unix/tty/pty_common.ha \
   4840 	$(STDLIB)/unix/tty/+linux/isatty.ha \
   4841 	$(STDLIB)/unix/tty/+linux/open.ha \
   4842 	$(STDLIB)/unix/tty/+linux/pty.ha \
   4843 	$(STDLIB)/unix/tty/+linux/termios.ha \
   4844 	$(STDLIB)/unix/tty/+linux/winsize.ha
   4845 
   4846 $(TESTCACHE)/unix/tty/unix_tty-linux.ssa: $(testlib_unix_tty_linux_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_strings_$(PLATFORM))
   4847 	@printf 'HAREC \t$@\n'
   4848 	@mkdir -p $(TESTCACHE)/unix/tty
   4849 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::tty \
   4850 		-t$(TESTCACHE)/unix/tty/unix_tty.td $(testlib_unix_tty_linux_srcs)
   4851 
   4852 # unix::tty (+freebsd)
   4853 testlib_unix_tty_freebsd_srcs = \
   4854 	$(STDLIB)/unix/tty/types.ha \
   4855 	$(STDLIB)/unix/tty/pty_common.ha \
   4856 	$(STDLIB)/unix/tty/+freebsd/isatty.ha \
   4857 	$(STDLIB)/unix/tty/+freebsd/open.ha \
   4858 	$(STDLIB)/unix/tty/+freebsd/pty.ha \
   4859 	$(STDLIB)/unix/tty/+freebsd/winsize.ha
   4860 
   4861 $(TESTCACHE)/unix/tty/unix_tty-freebsd.ssa: $(testlib_unix_tty_freebsd_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_fs_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_os_$(PLATFORM)) $(testlib_rt_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_types_c_$(PLATFORM))
   4862 	@printf 'HAREC \t$@\n'
   4863 	@mkdir -p $(TESTCACHE)/unix/tty
   4864 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nunix::tty \
   4865 		-t$(TESTCACHE)/unix/tty/unix_tty.td $(testlib_unix_tty_freebsd_srcs)
   4866 
   4867 # uuid (+any)
   4868 testlib_uuid_any_srcs = \
   4869 	$(STDLIB)/uuid/uuid.ha
   4870 
   4871 $(TESTCACHE)/uuid/uuid-any.ssa: $(testlib_uuid_any_srcs) $(testlib_rt) $(testlib_crypto_random_$(PLATFORM)) $(testlib_fmt_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_memio_$(PLATFORM)) $(testlib_strings_$(PLATFORM)) $(testlib_strconv_$(PLATFORM))
   4872 	@printf 'HAREC \t$@\n'
   4873 	@mkdir -p $(TESTCACHE)/uuid
   4874 	@$(testlib_env) $(HAREC) $(TESTHAREFLAGS) -o $@ -Nuuid \
   4875 		-t$(TESTCACHE)/uuid/uuid.td $(testlib_uuid_any_srcs)
   4876