From 9f68d6eee95f04f0ff146c4214c021beee551e98 Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Sat, 16 Jan 2021 12:05:41 -0800 Subject: [PATCH] Fix link order in cosmopolitan.a It turned out that the linker was doing the wrong with the amalgamation library concerning weak stubs. A regression test has been added and new binaries have been uploaded to https://justine.lol/cosmopolitan/ Ideally this should be fixed by building a tool that turns multiple .a files into a single .a file with deduplication. As a workaround for now the cosmopolitan.a build is restructured to not include LIBC_STUBS which meant technical debt needed to be paid off where non-stub interfaces were moved to LIBC_INTRIN and LIBC_NEXGEN32E. Thank @PerfectProductions in #31 for the report! --- Makefile | 62 ++++++++++--------- ape/lib/apelib.mk | 8 +-- build/package | 4 +- dsp/bmp/bmp.mk | 1 - dsp/core/core.mk | 1 - dsp/mpeg/mpeg.mk | 26 ++++---- dsp/scale/scale.mk | 14 ++--- dsp/tty/tty.mk | 2 +- examples/examples.mk | 2 +- examples/package/build.mk | 3 +- examples/package/lib/build.mk | 4 +- libc/alg/alg.mk | 2 +- libc/bits/bits.mk | 2 +- libc/calls/calls.mk | 2 +- libc/calls/hefty/hefty.mk | 2 +- libc/crt/crt.mk | 2 +- libc/crypto/crypto.mk | 2 +- libc/dns/dns.mk | 2 +- libc/elf/elf.mk | 2 +- libc/fmt/fmt.mk | 2 +- libc/{stubs => intrin}/addvdi3.S | 0 libc/{stubs => intrin}/addvsi3.S | 0 libc/{stubs => intrin}/addvti3.S | 0 libc/intrin/intrin.mk | 1 - libc/{stubs => intrin}/mulvdi3.S | 0 libc/{stubs => intrin}/mulvsi3.S | 0 libc/{stubs => intrin}/mulvti3.S | 0 libc/{stubs => intrin}/negvdi2.S | 0 libc/{stubs => intrin}/negvsi2.S | 0 libc/{stubs => intrin}/negvti2.S | 0 libc/{stubs => intrin}/onarithmeticoverflow.S | 0 libc/{stubs => intrin}/subvdi3.S | 0 libc/{stubs => intrin}/subvsi3.S | 0 libc/{stubs => intrin}/subvti3.S | 0 libc/log/log.mk | 2 +- libc/math/math.mk | 6 +- libc/mem/mem.mk | 2 +- libc/{stubs => nexgen32e}/errno.S | 0 libc/{stubs => nexgen32e}/errnolocation.S | 0 libc/{stubs => nexgen32e}/fentry.S | 0 libc/{stubs => nexgen32e}/mcount.S | 0 libc/{stubs => nexgen32e}/missingno.S | 0 libc/nexgen32e/nexgen32e.mk | 1 - libc/{stubs => nexgen32e}/triplf.S | 0 libc/{stubs => nexgen32e}/zip.S | 0 libc/nt/nt.mk | 25 ++++---- libc/{stubs/sysv2nt.S => nt/sysv2nt.s} | 34 +++++++--- libc/ohmyplus/ohmyplus.mk | 5 +- libc/rand/rand.mk | 2 +- libc/runtime/runtime.mk | 2 +- libc/sock/sock.mk | 2 +- libc/stdio/stdio.mk | 2 +- libc/str/str.mk | 1 - libc/stubs/stubs.mk | 1 - libc/sysv/stubs/free.S | 23 ------- libc/sysv/stubs/malloc.S | 29 --------- libc/sysv/stubs/realloc.S | 29 --------- libc/sysv/sysv.mk | 10 +-- libc/testlib/testlib.mk | 12 ++-- libc/time/time.mk | 2 +- libc/tinymath/tinymath.mk | 2 +- libc/unicode/unicode.mk | 4 +- libc/x/x.mk | 2 +- libc/zipos/zipos.mk | 3 +- net/http/http.mk | 2 +- test/ape/lib/test.mk | 8 +-- test/dsp/core/test.mk | 1 - test/dsp/scale/test.mk | 16 ++--- test/dsp/tty/test.mk | 8 +-- test/libc/alg/test.mk | 8 +-- test/libc/bits/test.mk | 4 +- test/libc/calls/test.mk | 4 +- test/libc/crypto/test.mk | 4 +- test/libc/dns/test.mk | 2 +- test/libc/fmt/test.mk | 6 +- test/libc/intrin/test.mk | 7 +-- test/libc/math/test.mk | 3 +- test/libc/mem/test.mk | 12 ++-- test/libc/nexgen32e/test.mk | 8 +-- test/libc/rand/test.mk | 2 +- test/libc/release/smoke.c | 4 ++ test/libc/release/test.mk | 7 ++- test/libc/runtime/test.mk | 8 +-- test/libc/sock/test.mk | 4 +- test/libc/stdio/test.mk | 3 +- test/libc/str/test.mk | 22 +++---- test/libc/time/test.mk | 4 +- test/libc/tinymath/test.mk | 6 +- test/libc/unicode/test.mk | 2 +- test/libc/x/test.mk | 8 +-- test/libc/xed/test.mk | 4 +- test/net/http/test.mk | 1 - test/tool/build/lib/test.mk | 16 ++--- test/tool/viz/lib/test.mk | 12 ++-- third_party/blas/blas.mk | 4 +- third_party/chibicc/chibicc.mk | 9 ++- third_party/chibicc/test/test.mk | 15 +++-- third_party/compiler_rt/compiler_rt.mk | 7 ++- third_party/dlmalloc/dlmalloc.mk | 2 +- third_party/duktape/duktape.mk | 6 +- third_party/f2c/f2c.mk | 2 +- third_party/gdtoa/gdtoa.mk | 10 +-- third_party/getopt/getopt.mk | 6 +- third_party/lemon/lemon.mk | 2 +- third_party/lz4cli/lz4cli.mk | 13 +--- third_party/musl/musl.mk | 2 +- third_party/regex/regex.mk | 2 +- third_party/stb/stb.mk | 2 +- third_party/xed/xed.mk | 6 +- third_party/zlib/zlib.mk | 6 +- tool/build/build.mk | 5 +- tool/build/emubin/emubin.mk | 4 +- tool/build/lib/buildlib.mk | 1 - tool/build/package.c | 2 + tool/calc/calc.mk | 2 +- tool/decode/decode.mk | 6 +- tool/decode/lib/decodelib.mk | 6 +- tool/hash/hash.mk | 6 +- tool/net/net.mk | 3 +- tool/viz/lib/vizlib.mk | 5 +- tool/viz/viz.mk | 6 +- 121 files changed, 302 insertions(+), 381 deletions(-) rename libc/{stubs => intrin}/addvdi3.S (100%) rename libc/{stubs => intrin}/addvsi3.S (100%) rename libc/{stubs => intrin}/addvti3.S (100%) rename libc/{stubs => intrin}/mulvdi3.S (100%) rename libc/{stubs => intrin}/mulvsi3.S (100%) rename libc/{stubs => intrin}/mulvti3.S (100%) rename libc/{stubs => intrin}/negvdi2.S (100%) rename libc/{stubs => intrin}/negvsi2.S (100%) rename libc/{stubs => intrin}/negvti2.S (100%) rename libc/{stubs => intrin}/onarithmeticoverflow.S (100%) rename libc/{stubs => intrin}/subvdi3.S (100%) rename libc/{stubs => intrin}/subvsi3.S (100%) rename libc/{stubs => intrin}/subvti3.S (100%) rename libc/{stubs => nexgen32e}/errno.S (100%) rename libc/{stubs => nexgen32e}/errnolocation.S (100%) rename libc/{stubs => nexgen32e}/fentry.S (100%) rename libc/{stubs => nexgen32e}/mcount.S (100%) rename libc/{stubs => nexgen32e}/missingno.S (100%) rename libc/{stubs => nexgen32e}/triplf.S (100%) rename libc/{stubs => nexgen32e}/zip.S (100%) rename libc/{stubs/sysv2nt.S => nt/sysv2nt.s} (80%) delete mode 100644 libc/sysv/stubs/free.S delete mode 100644 libc/sysv/stubs/malloc.S delete mode 100644 libc/sysv/stubs/realloc.S diff --git a/Makefile b/Makefile index 1a5e9d76d..0588a5711 100644 --- a/Makefile +++ b/Makefile @@ -236,40 +236,44 @@ loc: o/$(MODE)/tool/build/summy.com $(XARGS) wc -l | grep total | awk '{print $$1}' | $< COSMOPOLITAN_OBJECTS = \ - APE_LIB \ - LIBC \ - LIBC_ALG \ - LIBC_BITS \ - LIBC_CALLS \ - LIBC_CALLS_HEFTY \ LIBC_CRYPTO \ LIBC_DNS \ - LIBC_ELF \ - LIBC_FMT \ - LIBC_INTRIN \ - LIBC_LOG \ - LIBC_MEM \ - LIBC_NEXGEN32E \ - LIBC_NT \ - LIBC_OHMYPLUS \ - LIBC_RAND \ - LIBC_RUNTIME \ LIBC_SOCK \ - LIBC_STDIO \ - LIBC_STR \ - LIBC_STUBS \ - LIBC_SYSV \ - LIBC_TIME \ - LIBC_TINYMATH \ - LIBC_UNICODE \ + LIBC_NT_WS2_32 \ + LIBC_NT_MSWSOCK \ + LIBC_OHMYPLUS \ LIBC_X \ - LIBC_ZIPOS \ - THIRD_PARTY_COMPILER_RT \ - THIRD_PARTY_DLMALLOC \ THIRD_PARTY_GDTOA \ THIRD_PARTY_GETOPT \ + LIBC_LOG \ + LIBC_UNICODE \ + LIBC_TIME \ + LIBC_ZIPOS \ + THIRD_PARTY_ZLIB \ + APE_LIB \ THIRD_PARTY_MUSL \ - THIRD_PARTY_REGEX + LIBC_STDIO \ + LIBC_CALLS_HEFTY \ + THIRD_PARTY_REGEX \ + LIBC_ALG \ + LIBC_MEM \ + THIRD_PARTY_DLMALLOC \ + LIBC_BITS \ + LIBC_RUNTIME \ + LIBC_ELF \ + LIBC_CALLS \ + LIBC_RAND \ + LIBC_SYSV_CALLS \ + LIBC_NT_NTDLL \ + LIBC_NT_ADVAPI32 \ + LIBC_FMT \ + THIRD_PARTY_COMPILER_RT \ + LIBC_TINYMATH \ + LIBC_SYSV \ + LIBC_STR \ + LIBC_INTRIN \ + LIBC_NT_KERNEL32 \ + LIBC_NEXGEN32E COSMOPOLITAN_HEADERS = \ LIBC \ @@ -304,7 +308,9 @@ COSMOPOLITAN_HEADERS = \ THIRD_PARTY_ZLIB \ THIRD_PARTY_REGEX -o/$(MODE)/cosmopolitan.a: $(filter-out o/libc/stubs/exit11.o,$(foreach x,$(COSMOPOLITAN_OBJECTS),$($(x)_OBJS))) +o/$(MODE)/cosmopolitan.a.txt: + printf "%s\n" $(call reverse,$(call uniq,$(foreach x,$(COSMOPOLITAN_OBJECTS),$($(x))))) +o/$(MODE)/cosmopolitan.a: $(filter-out o/libc/stubs/exit11.o,$(foreach x,$(COSMOPOLITAN_OBJECTS),$($(x)_A_OBJS))) o/cosmopolitan.h: \ o/$(MODE)/tool/build/rollup.com \ libc/integral/normalize.inc \ diff --git a/ape/lib/apelib.mk b/ape/lib/apelib.mk index 85f4ddf67..2b38a38e7 100644 --- a/ape/lib/apelib.mk +++ b/ape/lib/apelib.mk @@ -17,14 +17,10 @@ APE_LIB_A_SRCS = \ APE_LIB_A_OBJS = \ $(APE_LIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \ - $(APE_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) \ - $(APE_LIB_A_SRCS:%=o/$(MODE)/%.zip.o) \ - o/$(MODE)/ape/ape.lds.zip.o \ - o/$(MODE)/ape/ape.S.zip.o \ - o/$(MODE)/NOTICE.zip.o + $(APE_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) APE_LIB_A_CHECKS = $(APE_LIB_A_HDRS:%=o/$(MODE)/%.ok) -APE_LIB_A_DIRECTDEPS = LIBC_STR LIBC_STUBS +APE_LIB_A_DIRECTDEPS = LIBC_STR LIBC_NEXGEN32E LIBC_STUBS APE_LIB_A_DEPS = $(call uniq,$(foreach x,$(APE_LIB_A_DIRECTDEPS),$($(x)))) $(APE_LIB_A): ape/lib/ $(APE_LIB_A).pkg $(APE_LIB_A_OBJS) diff --git a/build/package b/build/package index 41fa5fbb4..6dbcf31e2 100755 --- a/build/package +++ b/build/package @@ -5,8 +5,8 @@ if [ "$TOOL_BUILD_PACKAGE" ]; then set -- "$TOOL_BUILD_PACKAGE" "$@" else - if [ -x "o/tool/build/package.com" ]; then - set -- "o/tool/build/package.com" "$@" + if [ -x "o/tool/build/package.com.dbg" ]; then + set -- "o/tool/build/package.com.dbg" "$@" else MKDIR=${MKDIR:-$(command -v mkdir) -p} || exit CP=${CP:-$(command -v cp) -f} || exit diff --git a/dsp/bmp/bmp.mk b/dsp/bmp/bmp.mk index 600bca60e..c005cc9f9 100644 --- a/dsp/bmp/bmp.mk +++ b/dsp/bmp/bmp.mk @@ -16,7 +16,6 @@ DSP_BMP_A_SRCS = \ $(DSP_BMP_A_SRCS_C) DSP_BMP_A_OBJS = \ - $(DSP_BMP_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(DSP_BMP_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(DSP_BMP_A_SRCS_C:%.c=o/$(MODE)/%.o) diff --git a/dsp/core/core.mk b/dsp/core/core.mk index 151829f93..7f06a5888 100644 --- a/dsp/core/core.mk +++ b/dsp/core/core.mk @@ -16,7 +16,6 @@ DSP_CORE_A_SRCS = \ $(DSP_CORE_A_SRCS_C) DSP_CORE_A_OBJS = \ - $(DSP_CORE_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(DSP_CORE_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(DSP_CORE_A_SRCS_C:%.c=o/$(MODE)/%.o) diff --git a/dsp/mpeg/mpeg.mk b/dsp/mpeg/mpeg.mk index 9d1f6f801..99eb26167 100644 --- a/dsp/mpeg/mpeg.mk +++ b/dsp/mpeg/mpeg.mk @@ -16,7 +16,6 @@ DSP_MPEG_A_SRCS = \ $(DSP_MPEG_A_SRCS_C) DSP_MPEG_A_OBJS = \ - $(DSP_MPEG_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(DSP_MPEG_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(DSP_MPEG_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -26,19 +25,20 @@ DSP_MPEG_A_CHECKS = \ DSP_MPEG_A_DIRECTDEPS = \ LIBC_CALLS \ - LIBC_LOG \ - LIBC_RUNTIME \ - LIBC_TINYMATH \ - LIBC_TIME \ - LIBC_STUBS \ - LIBC_STR \ - LIBC_NEXGEN32E \ - LIBC_STDIO \ - LIBC_SYSV \ - LIBC_MEM \ - LIBC_LOG \ LIBC_FMT \ - LIBC_UNICODE \ + LIBC_INTRIN \ + LIBC_LOG \ + LIBC_LOG \ + LIBC_MEM \ + LIBC_NEXGEN32E \ + LIBC_RUNTIME \ + LIBC_STDIO \ + LIBC_STR \ + LIBC_STUBS \ + LIBC_SYSV \ + LIBC_TIME \ + LIBC_TINYMATH \ + LIBC_UNICODE DSP_MPEG_A_DEPS := \ $(call uniq,$(foreach x,$(DSP_MPEG_A_DIRECTDEPS),$($(x)))) diff --git a/dsp/scale/scale.mk b/dsp/scale/scale.mk index a342e4237..09403c741 100644 --- a/dsp/scale/scale.mk +++ b/dsp/scale/scale.mk @@ -16,7 +16,6 @@ DSP_SCALE_A_SRCS = \ $(DSP_SCALE_A_SRCS_C) DSP_SCALE_A_OBJS = \ - $(DSP_SCALE_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(DSP_SCALE_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(DSP_SCALE_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -27,14 +26,15 @@ DSP_SCALE_A_CHECKS = \ DSP_SCALE_A_DIRECTDEPS = \ DSP_CORE \ LIBC_INTRIN \ - LIBC_NEXGEN32E \ - LIBC_TINYMATH \ - LIBC_TIME \ - LIBC_RUNTIME \ LIBC_LOG \ LIBC_MEM \ - LIBC_X \ - LIBC_STUBS + LIBC_NEXGEN32E \ + LIBC_RUNTIME \ + LIBC_STUBS \ + LIBC_STUBS \ + LIBC_TIME \ + LIBC_TINYMATH \ + LIBC_X DSP_SCALE_A_DEPS := \ $(call uniq,$(foreach x,$(DSP_SCALE_A_DIRECTDEPS),$($(x)))) diff --git a/dsp/tty/tty.mk b/dsp/tty/tty.mk index 29a5f8199..06b6f65ad 100644 --- a/dsp/tty/tty.mk +++ b/dsp/tty/tty.mk @@ -16,7 +16,6 @@ DSP_TTY_A_SRCS = \ $(DSP_TTY_A_SRCS_C) DSP_TTY_A_OBJS = \ - $(DSP_TTY_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(DSP_TTY_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(DSP_TTY_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -29,6 +28,7 @@ DSP_TTY_A_DIRECTDEPS = \ LIBC_ALG \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_RUNTIME \ LIBC_MEM \ diff --git a/examples/examples.mk b/examples/examples.mk index c96d61ec6..1dfe4fe18 100644 --- a/examples/examples.mk +++ b/examples/examples.mk @@ -19,7 +19,6 @@ EXAMPLES_MAINS = \ $(EXAMPLES_MAINS_CC) EXAMPLES_OBJS = \ - $(EXAMPLES_SRCS:%=o/$(MODE)/%.zip.o) \ $(EXAMPLES_MAINS_S:%.S=o/$(MODE)/%.o) \ $(EXAMPLES_MAINS_C:%.c=o/$(MODE)/%.o) \ $(EXAMPLES_MAINS_CC:%.cc=o/$(MODE)/%.o) @@ -47,6 +46,7 @@ EXAMPLES_DIRECTDEPS = \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_LOG_ASAN \ LIBC_MEM \ diff --git a/examples/package/build.mk b/examples/package/build.mk index 32a810cbc..0385856f5 100644 --- a/examples/package/build.mk +++ b/examples/package/build.mk @@ -35,8 +35,7 @@ EXAMPLES_PACKAGE_BINS = \ # Remaps source file names to object names. # Also asks a wildcard rule to automatically run tool/build/zipobj.c EXAMPLES_PACKAGE_OBJS = \ - $(EXAMPLES_PACKAGE_SRCS:%.c=o/$(MODE)/%.o) \ - $(EXAMPLES_PACKAGE_SRCS:%=o/$(MODE)/%.zip.o) + $(EXAMPLES_PACKAGE_SRCS:%.c=o/$(MODE)/%.o) # Lists packages whose symbols are or may be directly referenced here. # Note that linking stubs is always a good idea due to synthetic code. diff --git a/examples/package/lib/build.mk b/examples/package/lib/build.mk index 05b0d425f..80edf5f92 100644 --- a/examples/package/lib/build.mk +++ b/examples/package/lib/build.mk @@ -57,8 +57,7 @@ EXAMPLES_PACKAGE_LIB_A_SRCS = \ # Change suffixes of different languages extensions into object names. EXAMPLES_PACKAGE_LIB_A_OBJS = \ $(EXAMPLES_PACKAGE_LIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \ - $(EXAMPLES_PACKAGE_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) \ - $(EXAMPLES_PACKAGE_LIB_A_SRCS:%=o/$(MODE)/%.zip.o) + $(EXAMPLES_PACKAGE_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) # Does the two most important things for C/C++ code sustainability. # 1. Guarantees each header builds, i.e. includes symbols it needs. @@ -71,6 +70,7 @@ EXAMPLES_PACKAGE_LIB_A_CHECKS = \ # Note that linking stubs is always a good idea due to synthetic code. EXAMPLES_PACKAGE_LIB_A_DIRECTDEPS = \ LIBC_STDIO \ + LIBC_NEXGEN32E \ LIBC_STUBS # Evaluates variable as set of transitive package dependencies. diff --git a/libc/alg/alg.mk b/libc/alg/alg.mk index 93cbf739f..a0ad35482 100644 --- a/libc/alg/alg.mk +++ b/libc/alg/alg.mk @@ -16,7 +16,6 @@ LIBC_ALG_A_SRCS = \ $(LIBC_ALG_A_SRCS_C) LIBC_ALG_A_OBJS = \ - $(LIBC_ALG_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_ALG_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_ALG_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -29,6 +28,7 @@ LIBC_ALG_A_DIRECTDEPS = \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ LIBC_STR \ + LIBC_INTRIN \ LIBC_STUBS \ LIBC_SYSV diff --git a/libc/bits/bits.mk b/libc/bits/bits.mk index 8b284e992..788f04819 100644 --- a/libc/bits/bits.mk +++ b/libc/bits/bits.mk @@ -16,7 +16,6 @@ LIBC_BITS_A_SRCS = \ $(LIBC_BITS_A_SRCS_C) LIBC_BITS_A_OBJS = \ - $(LIBC_BITS_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_BITS_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_BITS_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -26,6 +25,7 @@ LIBC_BITS_A_CHECKS = \ LIBC_BITS_A_DIRECTDEPS = \ LIBC_STUBS \ + LIBC_INTRIN \ LIBC_NEXGEN32E LIBC_BITS_A_DEPS := \ diff --git a/libc/calls/calls.mk b/libc/calls/calls.mk index 08ed88d3b..ec2baa727 100644 --- a/libc/calls/calls.mk +++ b/libc/calls/calls.mk @@ -29,7 +29,6 @@ LIBC_CALLS_A_SRCS = \ $(LIBC_CALLS_A_SRCS_C) LIBC_CALLS_A_OBJS = \ - $(LIBC_CALLS_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_CALLS_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_CALLS_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -39,6 +38,7 @@ LIBC_CALLS_A_CHECKS = \ LIBC_CALLS_A_DIRECTDEPS = \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ LIBC_NT_ADVAPI32 \ LIBC_NT_KERNEL32 \ diff --git a/libc/calls/hefty/hefty.mk b/libc/calls/hefty/hefty.mk index 031cb5e3c..36914e522 100644 --- a/libc/calls/hefty/hefty.mk +++ b/libc/calls/hefty/hefty.mk @@ -26,7 +26,6 @@ LIBC_CALLS_HEFTY_A_SRCS = \ $(LIBC_CALLS_HEFTY_A_SRCS_C) LIBC_CALLS_HEFTY_A_OBJS = \ - $(LIBC_CALLS_HEFTY_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_CALLS_HEFTY_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_CALLS_HEFTY_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -38,6 +37,7 @@ LIBC_CALLS_HEFTY_A_DIRECTDEPS = \ LIBC_ALG \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_NT_KERNEL32 \ diff --git a/libc/crt/crt.mk b/libc/crt/crt.mk index febf456e3..38abea4e0 100644 --- a/libc/crt/crt.mk +++ b/libc/crt/crt.mk @@ -23,7 +23,7 @@ CRT_ARTIFACTS += CRT CRT = o/$(MODE)/libc/crt/crt.o CRT_FILES = libc/crt/crt.S CRT_SRCS = libc/crt/crt.S -CRT_OBJS = o/$(MODE)/libc/crt/crt.o o/$(MODE)/libc/crt/crt.S.zip.o +CRT_OBJS = o/$(MODE)/libc/crt/crt.o $(CRT_OBJS): $(BUILD_FILES) libc/crt/crt.mk .PHONY: o/$(MODE)/libc/crt diff --git a/libc/crypto/crypto.mk b/libc/crypto/crypto.mk index cca3711ca..0c6be2155 100644 --- a/libc/crypto/crypto.mk +++ b/libc/crypto/crypto.mk @@ -18,7 +18,6 @@ LIBC_CRYPTO_A_SRCS = \ $(LIBC_CRYPTO_A_SRCS_C) LIBC_CRYPTO_A_OBJS = \ - $(LIBC_CRYPTO_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_CRYPTO_A_SRCS_A:%.s=o/$(MODE)/%.o) \ $(LIBC_CRYPTO_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_CRYPTO_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -28,6 +27,7 @@ LIBC_CRYPTO_A_CHECKS = \ $(LIBC_CRYPTO_A_HDRS:%=o/$(MODE)/%.ok) LIBC_CRYPTO_A_DIRECTDEPS = \ + LIBC_INTRIN \ LIBC_STUBS \ LIBC_NEXGEN32E diff --git a/libc/dns/dns.mk b/libc/dns/dns.mk index 4e7f21e83..f0f8e032b 100644 --- a/libc/dns/dns.mk +++ b/libc/dns/dns.mk @@ -16,7 +16,6 @@ LIBC_DNS_A_SRCS = \ $(LIBC_DNS_A_SRCS_C) LIBC_DNS_A_OBJS = \ - $(LIBC_DNS_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_DNS_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_DNS_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -34,6 +33,7 @@ LIBC_DNS_A_DIRECTDEPS = \ LIBC_RUNTIME \ LIBC_SOCK \ LIBC_STDIO \ + LIBC_INTRIN \ LIBC_STUBS \ LIBC_STR \ LIBC_SYSV \ diff --git a/libc/elf/elf.mk b/libc/elf/elf.mk index 5b41af4cb..37f7842e4 100644 --- a/libc/elf/elf.mk +++ b/libc/elf/elf.mk @@ -16,7 +16,6 @@ LIBC_ELF_A_SRCS = \ $(LIBC_ELF_A_SRCS_C) LIBC_ELF_A_OBJS = \ - $(LIBC_ELF_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_ELF_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_ELF_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -25,6 +24,7 @@ LIBC_ELF_A_CHECKS = \ $(LIBC_ELF_A_HDRS:%=o/$(MODE)/%.ok) LIBC_ELF_A_DIRECTDEPS = \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ LIBC_STR \ LIBC_STUBS diff --git a/libc/fmt/fmt.mk b/libc/fmt/fmt.mk index fd8e4813f..ccffc3d4e 100644 --- a/libc/fmt/fmt.mk +++ b/libc/fmt/fmt.mk @@ -25,7 +25,6 @@ LIBC_FMT_A_SRCS = \ $(LIBC_FMT_A_SRCS_C) LIBC_FMT_A_OBJS = \ - $(LIBC_FMT_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_FMT_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_FMT_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -37,6 +36,7 @@ LIBC_FMT_A_DIRECTDEPS = \ LIBC_NEXGEN32E \ LIBC_NT_KERNEL32 \ LIBC_STR \ + LIBC_INTRIN \ LIBC_STUBS \ LIBC_SYSV \ LIBC_TINYMATH \ diff --git a/libc/stubs/addvdi3.S b/libc/intrin/addvdi3.S similarity index 100% rename from libc/stubs/addvdi3.S rename to libc/intrin/addvdi3.S diff --git a/libc/stubs/addvsi3.S b/libc/intrin/addvsi3.S similarity index 100% rename from libc/stubs/addvsi3.S rename to libc/intrin/addvsi3.S diff --git a/libc/stubs/addvti3.S b/libc/intrin/addvti3.S similarity index 100% rename from libc/stubs/addvti3.S rename to libc/intrin/addvti3.S diff --git a/libc/intrin/intrin.mk b/libc/intrin/intrin.mk index 98f5dfe8b..bf3d7646b 100644 --- a/libc/intrin/intrin.mk +++ b/libc/intrin/intrin.mk @@ -16,7 +16,6 @@ LIBC_INTRIN_A_FILES := \ $(wildcard libc/intrin/*) LIBC_INTRIN_A_OBJS = \ - $(LIBC_INTRIN_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_INTRIN_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_INTRIN_A_SRCS_C:%.c=o/$(MODE)/%.o) diff --git a/libc/stubs/mulvdi3.S b/libc/intrin/mulvdi3.S similarity index 100% rename from libc/stubs/mulvdi3.S rename to libc/intrin/mulvdi3.S diff --git a/libc/stubs/mulvsi3.S b/libc/intrin/mulvsi3.S similarity index 100% rename from libc/stubs/mulvsi3.S rename to libc/intrin/mulvsi3.S diff --git a/libc/stubs/mulvti3.S b/libc/intrin/mulvti3.S similarity index 100% rename from libc/stubs/mulvti3.S rename to libc/intrin/mulvti3.S diff --git a/libc/stubs/negvdi2.S b/libc/intrin/negvdi2.S similarity index 100% rename from libc/stubs/negvdi2.S rename to libc/intrin/negvdi2.S diff --git a/libc/stubs/negvsi2.S b/libc/intrin/negvsi2.S similarity index 100% rename from libc/stubs/negvsi2.S rename to libc/intrin/negvsi2.S diff --git a/libc/stubs/negvti2.S b/libc/intrin/negvti2.S similarity index 100% rename from libc/stubs/negvti2.S rename to libc/intrin/negvti2.S diff --git a/libc/stubs/onarithmeticoverflow.S b/libc/intrin/onarithmeticoverflow.S similarity index 100% rename from libc/stubs/onarithmeticoverflow.S rename to libc/intrin/onarithmeticoverflow.S diff --git a/libc/stubs/subvdi3.S b/libc/intrin/subvdi3.S similarity index 100% rename from libc/stubs/subvdi3.S rename to libc/intrin/subvdi3.S diff --git a/libc/stubs/subvsi3.S b/libc/intrin/subvsi3.S similarity index 100% rename from libc/stubs/subvsi3.S rename to libc/intrin/subvsi3.S diff --git a/libc/stubs/subvti3.S b/libc/intrin/subvti3.S similarity index 100% rename from libc/stubs/subvti3.S rename to libc/intrin/subvti3.S diff --git a/libc/log/log.mk b/libc/log/log.mk index 0c92572a3..3cfb000fa 100644 --- a/libc/log/log.mk +++ b/libc/log/log.mk @@ -18,7 +18,6 @@ LIBC_LOG_A_SRCS = \ $(LIBC_LOG_A_SRCS_S) LIBC_LOG_A_OBJS = \ - $(LIBC_LOG_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_LOG_A_SRCS_C:%.c=o/$(MODE)/%.o) \ $(LIBC_LOG_A_SRCS_S:%.S=o/$(MODE)/%.o) @@ -32,6 +31,7 @@ LIBC_LOG_A_DIRECTDEPS = \ LIBC_CALLS_HEFTY \ LIBC_ELF \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_NT_KERNEL32 \ diff --git a/libc/math/math.mk b/libc/math/math.mk index e507cba79..9d3493884 100644 --- a/libc/math/math.mk +++ b/libc/math/math.mk @@ -17,7 +17,6 @@ LIBC_MATH_A_SRCS = \ $(LIBC_MATH_A_SRCS_C) LIBC_MATH_A_OBJS = \ - $(LIBC_MATH_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_MATH_A_SRCS_A:%.s=o/$(MODE)/%.o) \ $(LIBC_MATH_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_MATH_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -25,8 +24,9 @@ LIBC_MATH_A_OBJS = \ LIBC_MATH_A_CHECKS = $(LIBC_MATH_A).pkg LIBC_MATH_A_DIRECTDEPS = \ - LIBC_STUBS \ - LIBC_NEXGEN32E + LIBC_INTRIN \ + LIBC_NEXGEN32E \ + LIBC_STUBS LIBC_MATH_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_MATH_A_DIRECTDEPS),$($(x)))) diff --git a/libc/mem/mem.mk b/libc/mem/mem.mk index e37f29b7d..052fba956 100644 --- a/libc/mem/mem.mk +++ b/libc/mem/mem.mk @@ -20,7 +20,6 @@ LIBC_MEM_A_SRCS = \ $(LIBC_MEM_A_SRCS_C) LIBC_MEM_A_OBJS = \ - $(LIBC_MEM_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_MEM_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_MEM_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -31,6 +30,7 @@ LIBC_MEM_A_CHECKS = \ LIBC_MEM_A_DIRECTDEPS = \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ LIBC_RAND \ LIBC_RUNTIME \ diff --git a/libc/stubs/errno.S b/libc/nexgen32e/errno.S similarity index 100% rename from libc/stubs/errno.S rename to libc/nexgen32e/errno.S diff --git a/libc/stubs/errnolocation.S b/libc/nexgen32e/errnolocation.S similarity index 100% rename from libc/stubs/errnolocation.S rename to libc/nexgen32e/errnolocation.S diff --git a/libc/stubs/fentry.S b/libc/nexgen32e/fentry.S similarity index 100% rename from libc/stubs/fentry.S rename to libc/nexgen32e/fentry.S diff --git a/libc/stubs/mcount.S b/libc/nexgen32e/mcount.S similarity index 100% rename from libc/stubs/mcount.S rename to libc/nexgen32e/mcount.S diff --git a/libc/stubs/missingno.S b/libc/nexgen32e/missingno.S similarity index 100% rename from libc/stubs/missingno.S rename to libc/nexgen32e/missingno.S diff --git a/libc/nexgen32e/nexgen32e.mk b/libc/nexgen32e/nexgen32e.mk index ba80dec3e..620d53e11 100644 --- a/libc/nexgen32e/nexgen32e.mk +++ b/libc/nexgen32e/nexgen32e.mk @@ -18,7 +18,6 @@ LIBC_NEXGEN32E_A_SRCS = \ $(LIBC_NEXGEN32E_A_SRCS_C) LIBC_NEXGEN32E_A_OBJS = \ - $(LIBC_NEXGEN32E_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_NEXGEN32E_A_SRCS_A:%.s=o/$(MODE)/%.o) \ $(LIBC_NEXGEN32E_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_NEXGEN32E_A_SRCS_C:%.c=o/$(MODE)/%.o) diff --git a/libc/stubs/triplf.S b/libc/nexgen32e/triplf.S similarity index 100% rename from libc/stubs/triplf.S rename to libc/nexgen32e/triplf.S diff --git a/libc/stubs/zip.S b/libc/nexgen32e/zip.S similarity index 100% rename from libc/stubs/zip.S rename to libc/nexgen32e/zip.S diff --git a/libc/nt/nt.mk b/libc/nt/nt.mk index e19c23ba2..8c157b5f8 100644 --- a/libc/nt/nt.mk +++ b/libc/nt/nt.mk @@ -32,10 +32,9 @@ LIBC_NT_A_CHECKS = $(patsubst %,o/$(MODE)/%.ok,$(filter %.h,$(LIBC_NT_A_HDRS))) LIBC_NT_ARTIFACTS += LIBC_NT_KERNEL32_A LIBC_NT_KERNEL32 = $(LIBC_NT_KERNEL32_A_DEPS) $(LIBC_NT_KERNEL32_A) LIBC_NT_KERNEL32_A = o/$(MODE)/libc/nt/kernel32.a -LIBC_NT_KERNEL32_A_SRCS := $(wildcard libc/nt/kernel32/*.s) +LIBC_NT_KERNEL32_A_SRCS := $(wildcard libc/nt/kernel32/*.s) libc/nt/sysv2nt.s LIBC_NT_KERNEL32_A_OBJS = $(LIBC_NT_KERNEL32_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_KERNEL32_A_CHECKS = $(LIBC_NT_KERNEL32_A).pkg -LIBC_NT_KERNEL32_A_DIRECTDEPS = LIBC_STUBS LIBC_NT_KERNEL32_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_KERNEL32_A_DIRECTDEPS),$($(x)))) @@ -56,7 +55,7 @@ LIBC_NT_ADVAPI32_A = o/$(MODE)/libc/nt/advapi32.a LIBC_NT_ADVAPI32_A_SRCS := $(wildcard libc/nt/advapi32/*.s) LIBC_NT_ADVAPI32_A_OBJS = $(LIBC_NT_ADVAPI32_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_ADVAPI32_A_CHECKS = $(LIBC_NT_ADVAPI32_A).pkg -LIBC_NT_ADVAPI32_A_DIRECTDEPS = LIBC_STUBS +LIBC_NT_ADVAPI32_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_ADVAPI32_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_ADVAPI32_A_DIRECTDEPS),$($(x)))) @@ -77,7 +76,7 @@ LIBC_NT_COMDLG32_A = o/$(MODE)/libc/nt/comdlg32.a LIBC_NT_COMDLG32_A_SRCS := $(wildcard libc/nt/comdlg32/*.s) LIBC_NT_COMDLG32_A_OBJS = $(LIBC_NT_COMDLG32_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_COMDLG32_A_CHECKS = $(LIBC_NT_COMDLG32_A).pkg -LIBC_NT_COMDLG32_A_DIRECTDEPS = LIBC_STUBS +LIBC_NT_COMDLG32_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_COMDLG32_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_COMDLG32_A_DIRECTDEPS),$($(x)))) @@ -98,7 +97,7 @@ LIBC_NT_GDI32_A = o/$(MODE)/libc/nt/gdi32.a LIBC_NT_GDI32_A_SRCS := $(wildcard libc/nt/gdi32/*.s) LIBC_NT_GDI32_A_OBJS = $(LIBC_NT_GDI32_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_GDI32_A_CHECKS = $(LIBC_NT_GDI32_A).pkg -LIBC_NT_GDI32_A_DIRECTDEPS = LIBC_STUBS +LIBC_NT_GDI32_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_GDI32_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_GDI32_A_DIRECTDEPS),$($(x)))) @@ -119,7 +118,7 @@ LIBC_NT_KERNELBASE_A = o/$(MODE)/libc/nt/KernelBase.a LIBC_NT_KERNELBASE_A_SRCS := $(wildcard libc/nt/KernelBase/*.s) LIBC_NT_KERNELBASE_A_OBJS = $(LIBC_NT_KERNELBASE_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_KERNELBASE_A_CHECKS = $(LIBC_NT_KERNELBASE_A).pkg -LIBC_NT_KERNELBASE_A_DIRECTDEPS = LIBC_STUBS +LIBC_NT_KERNELBASE_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_KERNELBASE_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_KERNELBASE_A_DIRECTDEPS),$($(x)))) @@ -144,7 +143,7 @@ LIBC_NT_NTDLL_A_OBJS = \ $(LIBC_NT_NTDLL_A_SRCS_A:%.s=o/$(MODE)/%.o) \ $(LIBC_NT_NTDLL_A_SRCS_S:%.S=o/$(MODE)/%.o) LIBC_NT_NTDLL_A_CHECKS = $(LIBC_NT_NTDLL_A).pkg -LIBC_NT_NTDLL_A_DIRECTDEPS = LIBC_STUBS LIBC_NT_KERNEL32 +LIBC_NT_NTDLL_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_NTDLL_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_NTDLL_A_DIRECTDEPS),$($(x)))) @@ -177,7 +176,7 @@ LIBC_NT_NETAPI32_A = o/$(MODE)/libc/nt/netapi32.a LIBC_NT_NETAPI32_A_SRCS := $(wildcard libc/nt/netapi32/*.s) LIBC_NT_NETAPI32_A_OBJS = $(LIBC_NT_NETAPI32_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_NETAPI32_A_CHECKS = $(LIBC_NT_NETAPI32_A).pkg -LIBC_NT_NETAPI32_A_DIRECTDEPS = LIBC_STUBS +LIBC_NT_NETAPI32_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_NETAPI32_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_NETAPI32_A_DIRECTDEPS),$($(x)))) @@ -198,7 +197,7 @@ LIBC_NT_URL_A = o/$(MODE)/libc/nt/url.a LIBC_NT_URL_A_SRCS := $(wildcard libc/nt/url/*.s) LIBC_NT_URL_A_OBJS = $(LIBC_NT_URL_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_URL_A_CHECKS = $(LIBC_NT_URL_A).pkg -LIBC_NT_URL_A_DIRECTDEPS = LIBC_STUBS +LIBC_NT_URL_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_URL_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_URL_A_DIRECTDEPS),$($(x)))) @@ -219,7 +218,7 @@ LIBC_NT_USER32_A = o/$(MODE)/libc/nt/user32.a LIBC_NT_USER32_A_SRCS := $(wildcard libc/nt/user32/*.s) LIBC_NT_USER32_A_OBJS = $(LIBC_NT_USER32_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_USER32_A_CHECKS = $(LIBC_NT_USER32_A).pkg -LIBC_NT_USER32_A_DIRECTDEPS = LIBC_STUBS +LIBC_NT_USER32_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_USER32_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_USER32_A_DIRECTDEPS),$($(x)))) @@ -240,7 +239,7 @@ LIBC_NT_WS2_32_A = o/$(MODE)/libc/nt/ws2_32.a LIBC_NT_WS2_32_A_SRCS := $(wildcard libc/nt/ws2_32/*.s) LIBC_NT_WS2_32_A_OBJS = $(LIBC_NT_WS2_32_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_WS2_32_A_CHECKS = $(LIBC_NT_WS2_32_A).pkg -LIBC_NT_WS2_32_A_DIRECTDEPS = LIBC_STUBS +LIBC_NT_WS2_32_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_WS2_32_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_WS2_32_A_DIRECTDEPS),$($(x)))) @@ -261,7 +260,7 @@ LIBC_NT_MSWSOCK_A = o/$(MODE)/libc/nt/MsWSock.a LIBC_NT_MSWSOCK_A_SRCS := $(wildcard libc/nt/MsWSock/*.s) LIBC_NT_MSWSOCK_A_OBJS = $(LIBC_NT_MSWSOCK_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_MSWSOCK_A_CHECKS = $(LIBC_NT_MSWSOCK_A).pkg -LIBC_NT_MSWSOCK_A_DIRECTDEPS = LIBC_STUBS +LIBC_NT_MSWSOCK_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_MSWSOCK_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_MSWSOCK_A_DIRECTDEPS),$($(x)))) @@ -282,7 +281,7 @@ LIBC_NT_SHELL32_A = o/$(MODE)/libc/nt/shell32.a LIBC_NT_SHELL32_A_SRCS := $(wildcard libc/nt/shell32/*.s) LIBC_NT_SHELL32_A_OBJS = $(LIBC_NT_SHELL32_A_SRCS:%.s=o/$(MODE)/%.o) LIBC_NT_SHELL32_A_CHECKS = $(LIBC_NT_SHELL32_A).pkg -LIBC_NT_SHELL32_A_DIRECTDEPS = LIBC_STUBS +LIBC_NT_SHELL32_A_DIRECTDEPS = LIBC_NT_KERNEL32 LIBC_NT_SHELL32_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_NT_SHELL32_A_DIRECTDEPS),$($(x)))) $(LIBC_NT_SHELL32_A): \ diff --git a/libc/stubs/sysv2nt.S b/libc/nt/sysv2nt.s similarity index 80% rename from libc/stubs/sysv2nt.S rename to libc/nt/sysv2nt.s index 35fd04f2f..3511fa1eb 100644 --- a/libc/stubs/sysv2nt.S +++ b/libc/nt/sysv2nt.s @@ -16,8 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/macros.h" -.text.windows +.section .text.windows,"ax",@progbits / Epilogues for calling functions w/ Microsoft x64 convention. / @@ -32,18 +31,38 @@ __sysv2nt14: pushq 72(%rbp) pushq 64(%rbp) + .type __sysv2nt14,@function + .size __sysv2nt14,.-__sysv2nt14 + .globl __sysv2nt14 + .hidden __sysv2nt14 __sysv2nt12: pushq 56(%rbp) pushq 48(%rbp) + .type __sysv2nt12,@function + .size __sysv2nt12,.-__sysv2nt12 + .globl __sysv2nt12 + .hidden __sysv2nt12 __sysv2nt10: pushq 40(%rbp) pushq 32(%rbp) + .type __sysv2nt10,@function + .size __sysv2nt10,.-__sysv2nt10 + .globl __sysv2nt10 + .hidden __sysv2nt10 __sysv2nt8: pushq 24(%rbp) pushq 16(%rbp) + .type __sysv2nt8,@function + .size __sysv2nt8,.-__sysv2nt8 + .globl __sysv2nt8 + .hidden __sysv2nt8 __sysv2nt6: push %r9 push %r8 + .type __sysv2nt6,@function + .size __sysv2nt6,.-__sysv2nt6 + .globl __sysv2nt6 + .hidden __sysv2nt6 __sysv2nt: mov %rdx,%r8 mov %rcx,%r9 @@ -53,10 +72,7 @@ __sysv2nt: call *%rax leave ret - .endfn __sysv2nt,globl,hidden - .endfn __sysv2nt6,globl,hidden - .endfn __sysv2nt8,globl,hidden - .endfn __sysv2nt10,globl,hidden - .endfn __sysv2nt12,globl,hidden - .endfn __sysv2nt14,globl,hidden - .source __FILE__ + .type __sysv2nt,@function + .size __sysv2nt,.-__sysv2nt + .globl __sysv2nt + .hidden __sysv2nt diff --git a/libc/ohmyplus/ohmyplus.mk b/libc/ohmyplus/ohmyplus.mk index a5714608a..312b6b50c 100644 --- a/libc/ohmyplus/ohmyplus.mk +++ b/libc/ohmyplus/ohmyplus.mk @@ -18,7 +18,6 @@ LIBC_OHMYPLUS_A_SRCS = \ $(LIBC_OHMYPLUS_A_SRCS_CXX) LIBC_OHMYPLUS_A_OBJS = \ - $(LIBC_OHMYPLUS_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_OHMYPLUS_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_OHMYPLUS_A_SRCS_C:%.c=o/$(MODE)/%.o) \ $(LIBC_OHMYPLUS_A_SRCS_CXX:%.cc=o/$(MODE)/%.o) @@ -29,8 +28,10 @@ LIBC_OHMYPLUS_A_CHECKS = \ LIBC_OHMYPLUS_A_DIRECTDEPS = \ LIBC_BITS \ + LIBC_INTRIN \ LIBC_MEM \ - LIBC_STUBS + LIBC_STUBS \ + LIBC_NEXGEN32E LIBC_OHMYPLUS_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_OHMYPLUS_A_DIRECTDEPS),$($(x)))) diff --git a/libc/rand/rand.mk b/libc/rand/rand.mk index b68024cd4..90f631f06 100644 --- a/libc/rand/rand.mk +++ b/libc/rand/rand.mk @@ -16,7 +16,6 @@ LIBC_RAND_A_SRCS = \ $(LIBC_RAND_A_SRCS_C) LIBC_RAND_A_OBJS = \ - $(LIBC_RAND_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_RAND_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_RAND_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -26,6 +25,7 @@ LIBC_RAND_A_CHECKS = \ LIBC_RAND_A_DIRECTDEPS = \ LIBC_STUBS \ + LIBC_INTRIN \ LIBC_TINYMATH \ LIBC_NEXGEN32E \ LIBC_NT_KERNEL32 \ diff --git a/libc/runtime/runtime.mk b/libc/runtime/runtime.mk index a02eb477f..fca913f71 100644 --- a/libc/runtime/runtime.mk +++ b/libc/runtime/runtime.mk @@ -25,7 +25,6 @@ LIBC_RUNTIME_A_SRCS = \ $(LIBC_RUNTIME_A_SRCS_C) LIBC_RUNTIME_A_OBJS = \ - $(LIBC_RUNTIME_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_RUNTIME_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_RUNTIME_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -37,6 +36,7 @@ LIBC_RUNTIME_A_DIRECTDEPS = \ LIBC_CALLS \ LIBC_ELF \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ LIBC_NT_KERNEL32 \ LIBC_STR \ diff --git a/libc/sock/sock.mk b/libc/sock/sock.mk index b8ed551f4..98e5b1466 100644 --- a/libc/sock/sock.mk +++ b/libc/sock/sock.mk @@ -11,7 +11,6 @@ LIBC_SOCK_A_HDRS = $(filter %.h,$(LIBC_SOCK_A_FILES)) LIBC_SOCK_A_SRCS = $(filter %.c,$(LIBC_SOCK_A_FILES)) LIBC_SOCK_A_OBJS = \ - $(LIBC_SOCK_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_SOCK_A_SRCS:%.c=o/$(MODE)/%.o) LIBC_SOCK_A_CHECKS = \ @@ -22,6 +21,7 @@ LIBC_SOCK_A_DIRECTDEPS = \ LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_NT_KERNEL32 \ diff --git a/libc/stdio/stdio.mk b/libc/stdio/stdio.mk index 109228840..221aa9f7f 100644 --- a/libc/stdio/stdio.mk +++ b/libc/stdio/stdio.mk @@ -16,7 +16,6 @@ LIBC_STDIO_A_SRCS = \ $(LIBC_STDIO_A_SRCS_C) LIBC_STDIO_A_OBJS = \ - $(LIBC_STDIO_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_STDIO_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_STDIO_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -30,6 +29,7 @@ LIBC_STDIO_A_DIRECTDEPS = \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_NT_KERNEL32 \ diff --git a/libc/str/str.mk b/libc/str/str.mk index 96145d23b..e54a8fd4a 100644 --- a/libc/str/str.mk +++ b/libc/str/str.mk @@ -18,7 +18,6 @@ LIBC_STR_A_SRCS = \ $(LIBC_STR_A_SRCS_C) LIBC_STR_A_OBJS = \ - $(LIBC_STR_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_STR_A_SRCS_A:%.s=o/$(MODE)/%.o) \ $(LIBC_STR_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_STR_A_SRCS_C:%.c=o/$(MODE)/%.o) diff --git a/libc/stubs/stubs.mk b/libc/stubs/stubs.mk index b61c9baf6..a6cddb67a 100644 --- a/libc/stubs/stubs.mk +++ b/libc/stubs/stubs.mk @@ -27,7 +27,6 @@ LIBC_STUBS_A_SRCS = \ $(filter %.S,$(LIBC_STUBS_A_FILES)) LIBC_STUBS_A_OBJS = \ - $(LIBC_STUBS_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_STUBS_A_SRCS:%.S=o/$(MODE)/%.o) LIBC_STUBS_A_CHECKS = \ diff --git a/libc/sysv/stubs/free.S b/libc/sysv/stubs/free.S deleted file mode 100644 index f82b59e78..000000000 --- a/libc/sysv/stubs/free.S +++ /dev/null @@ -1,23 +0,0 @@ -/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│ -│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│ -╞══════════════════════════════════════════════════════════════════════════════╡ -│ Copyright 2020 Justine Alexandra Roberts Tunney │ -│ │ -│ Permission to use, copy, modify, and/or distribute this software for │ -│ any purpose with or without fee is hereby granted, provided that the │ -│ above copyright notice and this permission notice appear in all copies. │ -│ │ -│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ -│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ -│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ -│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ -│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ -│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ -│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ -│ PERFORMANCE OF THIS SOFTWARE. │ -╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/macros.h" -#include "libc/notice.inc" - -free: ret - .endfn free,weak diff --git a/libc/sysv/stubs/malloc.S b/libc/sysv/stubs/malloc.S deleted file mode 100644 index 38e9967cf..000000000 --- a/libc/sysv/stubs/malloc.S +++ /dev/null @@ -1,29 +0,0 @@ -/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│ -│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│ -╞══════════════════════════════════════════════════════════════════════════════╡ -│ Copyright 2020 Justine Alexandra Roberts Tunney │ -│ │ -│ Permission to use, copy, modify, and/or distribute this software for │ -│ any purpose with or without fee is hereby granted, provided that the │ -│ above copyright notice and this permission notice appear in all copies. │ -│ │ -│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ -│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ -│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ -│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ -│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ -│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ -│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ -│ PERFORMANCE OF THIS SOFTWARE. │ -╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/macros.h" -#include "libc/notice.inc" - -malloc: push %rbp - mov %rsp,%rbp - mov ENOMEM(%rip),%eax - mov %eax,errno(%rip) - pushpop -1,%rax - pop %rbp - ret - .endfn malloc,weak diff --git a/libc/sysv/stubs/realloc.S b/libc/sysv/stubs/realloc.S deleted file mode 100644 index 990f500d3..000000000 --- a/libc/sysv/stubs/realloc.S +++ /dev/null @@ -1,29 +0,0 @@ -/*-*- mode:unix-assembly; indent-tabs-mode:t; tab-width:8; coding:utf-8 -*-│ -│vi: set et ft=asm ts=8 tw=8 fenc=utf-8 :vi│ -╞══════════════════════════════════════════════════════════════════════════════╡ -│ Copyright 2020 Justine Alexandra Roberts Tunney │ -│ │ -│ Permission to use, copy, modify, and/or distribute this software for │ -│ any purpose with or without fee is hereby granted, provided that the │ -│ above copyright notice and this permission notice appear in all copies. │ -│ │ -│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ -│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ -│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ -│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ -│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ -│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ -│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ -│ PERFORMANCE OF THIS SOFTWARE. │ -╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/macros.h" -#include "libc/notice.inc" - -realloc:push %rbp - mov %rsp,%rbp - mov ENOMEM(%rip),%eax - mov %eax,errno(%rip) - pushpop -1,%rax - pop %rbp - ret - .endfn realloc,weak diff --git a/libc/sysv/sysv.mk b/libc/sysv/sysv.mk index 6e71927df..72ac457fe 100644 --- a/libc/sysv/sysv.mk +++ b/libc/sysv/sysv.mk @@ -25,7 +25,7 @@ LIBC_SYSV_A_SRCS_S = $(filter %.S,$(LIBC_SYSV_A_FILES)) LIBC_SYSV_A_CHECKS = $(LIBC_SYSV_A).pkg LIBC_SYSV_A_DIRECTDEPS = \ - LIBC_STUBS + LIBC_NEXGEN32E LIBC_SYSV_A_FILES := \ libc/sysv/macros.internal.h \ @@ -34,7 +34,6 @@ LIBC_SYSV_A_FILES := \ libc/sysv/restorert.S \ libc/sysv/syscall.S \ libc/sysv/systemfive.S \ - $(wildcard libc/sysv/stubs/*) \ $(wildcard libc/sysv/consts/*) \ $(wildcard libc/sysv/errfuns/*) @@ -44,17 +43,14 @@ LIBC_SYSV_A_SRCS = \ LIBC_SYSV_A_OBJS = \ $(LIBC_SYSV_A_SRCS_A:%.s=o/$(MODE)/%.o) \ - $(LIBC_SYSV_A_SRCS_S:%.S=o/$(MODE)/%.o) \ - o/$(MODE)/libc/sysv/g_syscount.S.zip.o \ - o/$(MODE)/libc/sysv/restorert.S.zip.o \ - o/$(MODE)/libc/sysv/syscall.S.zip.o \ - o/$(MODE)/libc/sysv/systemfive.S.zip.o + $(LIBC_SYSV_A_SRCS_S:%.S=o/$(MODE)/%.o) LIBC_SYSV_A_DEPS := \ $(call uniq,$(foreach x,$(LIBC_SYSV_A_DIRECTDEPS),$($(x)))) $(LIBC_SYSV_A): libc/sysv/ \ libc/sysv/consts/ \ + libc/sysv/errfuns/ \ $(LIBC_SYSV_A).pkg \ $(LIBC_SYSV_A_OBJS) diff --git a/libc/testlib/testlib.mk b/libc/testlib/testlib.mk index 1e9b1ff2f..50b54fe2b 100644 --- a/libc/testlib/testlib.mk +++ b/libc/testlib/testlib.mk @@ -74,7 +74,6 @@ LIBC_TESTLIB_A_SRCS = \ $(LIBC_TESTLIB_A_SRCS_C) LIBC_TESTLIB_A_OBJS = \ - $(LIBC_TESTLIB_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_TESTLIB_A_SRCS_C:%.c=o/$(MODE)/%.o) \ $(LIBC_TESTLIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_TESTLIB_A_ASSETS:%=o/$(MODE)/%.zip.o) @@ -84,6 +83,7 @@ LIBC_TESTLIB_A_DIRECTDEPS = \ LIBC_ALG \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ @@ -92,10 +92,10 @@ LIBC_TESTLIB_A_DIRECTDEPS = \ LIBC_RUNTIME \ LIBC_STDIO \ LIBC_STR \ - LIBC_TIME \ - LIBC_TINYMATH \ LIBC_STUBS \ LIBC_SYSV_CALLS \ + LIBC_TIME \ + LIBC_TINYMATH \ LIBC_UNICODE \ LIBC_X \ LIBC_ZIPOS \ @@ -122,13 +122,13 @@ LIBC_TESTLIB_RUNNER_A_SRCS = libc/testlib/runner.c LIBC_TESTLIB_RUNNER_A_CHECKS = $(LIBC_TESTLIB_RUNNER_A).pkg LIBC_TESTLIB_RUNNER_A_OBJS = \ - $(LIBC_TESTLIB_RUNNER_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_TESTLIB_RUNNER_A_SRCS:%.c=o/$(MODE)/%.o) LIBC_TESTLIB_RUNNER_A_DIRECTDEPS = \ LIBC_FMT \ - LIBC_RUNTIME \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ + LIBC_RUNTIME \ LIBC_STDIO \ LIBC_STR \ LIBC_STUBS \ @@ -161,11 +161,11 @@ LIBC_TESTMAIN_SRCS = \ libc/testlib/testmain.c LIBC_TESTMAIN_OBJS = \ - $(LIBC_TESTMAIN_SRCS:%=o/$(MODE)/%.zip.o) \ o/$(MODE)/libc/testlib/testmain.o LIBC_TESTMAIN_DIRECTDEPS = \ LIBC_CALLS \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ diff --git a/libc/time/time.mk b/libc/time/time.mk index b3fff8187..e452e535f 100644 --- a/libc/time/time.mk +++ b/libc/time/time.mk @@ -17,7 +17,6 @@ LIBC_TIME_A_SRCS = \ $(LIBC_TIME_A_SRCS_C) LIBC_TIME_A_OBJS = \ - $(LIBC_TIME_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_TIME_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_TIME_A_SRCS_C:%.c=o/$(MODE)/%.o) \ $(LIBC_TIME_A_SRCS_C:%.c=o/$(MODE)/%.o) \ @@ -29,6 +28,7 @@ LIBC_TIME_A_CHECKS = \ LIBC_TIME_A_DIRECTDEPS = \ LIBC_CALLS \ + LIBC_INTRIN \ LIBC_FMT \ LIBC_MEM \ LIBC_NEXGEN32E \ diff --git a/libc/tinymath/tinymath.mk b/libc/tinymath/tinymath.mk index 12e9b7aeb..077118eda 100644 --- a/libc/tinymath/tinymath.mk +++ b/libc/tinymath/tinymath.mk @@ -15,7 +15,6 @@ LIBC_TINYMATH_A_SRCS = $(LIBC_TINYMATH_A_SRCS_S) $(LIBC_TINYMATH_A_SRCS_C) LIBC_TINYMATH_A_CHECKS = $(LIBC_TINYMATH_A).pkg LIBC_TINYMATH_A_OBJS = \ - $(LIBC_TINYMATH_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_TINYMATH_A_SRCS_A:%.s=o/$(MODE)/%.o) \ $(LIBC_TINYMATH_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_TINYMATH_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -25,6 +24,7 @@ LIBC_TINYMATH_A_CHECKS = \ $(LIBC_TINYMATH_A_HDRS:%=o/$(MODE)/%.ok) LIBC_TINYMATH_A_DIRECTDEPS = \ + LIBC_INTRIN \ LIBC_STUBS \ LIBC_NEXGEN32E diff --git a/libc/unicode/unicode.mk b/libc/unicode/unicode.mk index 40b1455ea..9d146723d 100644 --- a/libc/unicode/unicode.mk +++ b/libc/unicode/unicode.mk @@ -18,7 +18,6 @@ LIBC_UNICODE_A_SRCS = \ $(LIBC_UNICODE_A_SRCS_C) LIBC_UNICODE_A_OBJS = \ - $(LIBC_UNICODE_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_UNICODE_A_SRCS_A:%.s=o/$(MODE)/%.o) \ $(LIBC_UNICODE_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_UNICODE_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -28,10 +27,11 @@ LIBC_UNICODE_A_CHECKS = \ $(LIBC_UNICODE_A_HDRS:%=o/$(MODE)/%.ok) LIBC_UNICODE_A_DIRECTDEPS = \ - LIBC_STUBS \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ LIBC_STR \ + LIBC_STUBS \ LIBC_SYSV LIBC_UNICODE_A_DEPS := \ diff --git a/libc/x/x.mk b/libc/x/x.mk index f494697e7..6a8ca91ef 100644 --- a/libc/x/x.mk +++ b/libc/x/x.mk @@ -25,7 +25,6 @@ LIBC_X_A_SRCS = \ $(LIBC_X_A_SRCS_C) LIBC_X_A_OBJS = \ - $(LIBC_X_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_X_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_X_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -36,6 +35,7 @@ LIBC_X_A_CHECKS = \ LIBC_X_A_DIRECTDEPS = \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ diff --git a/libc/zipos/zipos.mk b/libc/zipos/zipos.mk index 654c56f6f..052cec6c0 100644 --- a/libc/zipos/zipos.mk +++ b/libc/zipos/zipos.mk @@ -19,7 +19,6 @@ LIBC_ZIPOS_A_SRCS = \ $(LIBC_ZIPOS_A_SRCS_C) LIBC_ZIPOS_A_OBJS = \ - $(LIBC_ZIPOS_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(LIBC_ZIPOS_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(LIBC_ZIPOS_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -28,12 +27,14 @@ LIBC_ZIPOS_A_CHECKS = \ $(LIBC_ZIPOS_A_HDRS:%=o/$(MODE)/%.ok) LIBC_ZIPOS_A_DIRECTDEPS = \ + APE_LIB \ LIBC_CALLS \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ LIBC_SYSV \ LIBC_STR \ + LIBC_INTRIN \ LIBC_STUBS \ LIBC_SYSV_CALLS \ LIBC_NT_KERNEL32 \ diff --git a/net/http/http.mk b/net/http/http.mk index d812de997..570b466ae 100644 --- a/net/http/http.mk +++ b/net/http/http.mk @@ -18,7 +18,6 @@ NET_HTTP_A_SRCS = \ $(NET_HTTP_A_SRCS_R) NET_HTTP_A_OBJS = \ - $(NET_HTTP_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(NET_HTTP_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(NET_HTTP_A_SRCS_C:%.c=o/$(MODE)/%.o) \ $(NET_HTTP_A_SRCS_R:%.rl=o/$(MODE)/%.o) @@ -31,6 +30,7 @@ NET_HTTP_A_DIRECTDEPS = \ LIBC_ALG \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_LOG_ASAN \ LIBC_NEXGEN32E \ diff --git a/test/ape/lib/test.mk b/test/ape/lib/test.mk index 77fb7cfec..f828c4401 100644 --- a/test/ape/lib/test.mk +++ b/test/ape/lib/test.mk @@ -7,7 +7,6 @@ TEST_APE_LIB_SRCS := $(wildcard test/ape/lib/*.c) TEST_APE_LIB_SRCS_TEST = $(filter %_test.c,$(TEST_APE_LIB_SRCS)) TEST_APE_LIB_OBJS = \ - $(TEST_APE_LIB_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_APE_LIB_SRCS:%.c=o/$(MODE)/%.o) TEST_APE_LIB_COMS = \ @@ -26,10 +25,11 @@ TEST_APE_LIB_CHECKS = \ TEST_APE_LIB_DIRECTDEPS = \ APE_LIB \ LIBC_CALLS_HEFTY \ + LIBC_INTRIN \ + LIBC_LOG \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ LIBC_STR \ - LIBC_LOG \ LIBC_STUBS \ LIBC_TESTLIB \ LIBC_X @@ -50,10 +50,6 @@ o/$(MODE)/test/ape/lib/%.com.dbg: \ $(APE) @$(APELINK) -# $(TEST_APE_LIB_OBJS): \ -# OVERRIDE_CFLAGS += \ -# -fsanitize=address - .PHONY: o/$(MODE)/test/ape/lib o/$(MODE)/test/ape/lib: $(TEST_APE_LIB_BINS) \ $(TEST_APE_LIB_CHECKS) diff --git a/test/dsp/core/test.mk b/test/dsp/core/test.mk index d30a38e0e..91b722b66 100644 --- a/test/dsp/core/test.mk +++ b/test/dsp/core/test.mk @@ -8,7 +8,6 @@ TEST_DSP_CORE_SRCS_TEST = $(filter %_test.c,$(TEST_DSP_CORE_SRCS)) TEST_DSP_CORE_BINS = $(TEST_DSP_CORE_COMS) $(TEST_DSP_CORE_COMS:%=%.dbg) TEST_DSP_CORE_OBJS = \ - $(TEST_DSP_CORE_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_DSP_CORE_SRCS:%.c=o/$(MODE)/%.o) TEST_DSP_CORE_COMS = \ diff --git a/test/dsp/scale/test.mk b/test/dsp/scale/test.mk index 966b4170a..4b988b52a 100644 --- a/test/dsp/scale/test.mk +++ b/test/dsp/scale/test.mk @@ -8,7 +8,6 @@ TEST_DSP_SCALE_SRCS_TEST = $(filter %_test.c,$(TEST_DSP_SCALE_SRCS)) TEST_DSP_SCALE_BINS = $(TEST_DSP_SCALE_COMS) $(TEST_DSP_SCALE_COMS:%=%.dbg) TEST_DSP_SCALE_OBJS = \ - $(TEST_DSP_SCALE_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_DSP_SCALE_SRCS:%.c=o/$(MODE)/%.o) TEST_DSP_SCALE_COMS = \ @@ -23,18 +22,19 @@ TEST_DSP_SCALE_CHECKS = \ TEST_DSP_SCALE_DIRECTDEPS = \ DSP_CORE \ DSP_SCALE \ - LIBC_TINYMATH \ - LIBC_LOG \ - LIBC_RUNTIME \ LIBC_FMT \ + LIBC_INTRIN \ + LIBC_LOG \ LIBC_MEM \ - LIBC_STDIO \ - LIBC_X \ - LIBC_RAND \ LIBC_NEXGEN32E \ + LIBC_RAND \ + LIBC_RUNTIME \ + LIBC_STDIO \ LIBC_STR \ - TOOL_VIZ_LIB \ LIBC_STUBS \ + LIBC_TINYMATH \ + LIBC_X \ + TOOL_VIZ_LIB \ LIBC_TESTLIB TEST_DSP_SCALE_DEPS := \ diff --git a/test/dsp/tty/test.mk b/test/dsp/tty/test.mk index ca2f58bd8..c5b61ec0c 100644 --- a/test/dsp/tty/test.mk +++ b/test/dsp/tty/test.mk @@ -8,7 +8,6 @@ TEST_DSP_TTY_SRCS_TEST = $(filter %_test.c,$(TEST_DSP_TTY_SRCS)) TEST_DSP_TTY_BINS = $(TEST_DSP_TTY_COMS) $(TEST_DSP_TTY_COMS:%=%.dbg) TEST_DSP_TTY_OBJS = \ - $(TEST_DSP_TTY_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_DSP_TTY_SRCS:%.c=o/$(MODE)/%.o) TEST_DSP_TTY_COMS = \ @@ -22,14 +21,15 @@ TEST_DSP_TTY_CHECKS = \ TEST_DSP_TTY_DIRECTDEPS = \ DSP_TTY \ - LIBC_TINYMATH \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_MEM \ - LIBC_RUNTIME \ - LIBC_RAND \ LIBC_NEXGEN32E \ + LIBC_RAND \ + LIBC_RUNTIME \ LIBC_STR \ LIBC_STUBS \ + LIBC_TINYMATH \ LIBC_TESTLIB TEST_DSP_TTY_DEPS := \ diff --git a/test/libc/alg/test.mk b/test/libc/alg/test.mk index 92934a966..1c2fb6bfb 100644 --- a/test/libc/alg/test.mk +++ b/test/libc/alg/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_ALG_SRCS := $(wildcard test/libc/alg/*.c) TEST_LIBC_ALG_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_ALG_SRCS)) TEST_LIBC_ALG_OBJS = \ - $(TEST_LIBC_ALG_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_ALG_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_ALG_COMS = \ @@ -24,14 +23,15 @@ TEST_LIBC_ALG_CHECKS = \ TEST_LIBC_ALG_DIRECTDEPS = \ LIBC_ALG \ - LIBC_RAND \ - LIBC_LOG \ - LIBC_STDIO \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ + LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ + LIBC_RAND \ LIBC_RUNTIME \ + LIBC_STDIO \ LIBC_STR \ LIBC_STUBS \ LIBC_SYSV \ diff --git a/test/libc/bits/test.mk b/test/libc/bits/test.mk index 31d285f4b..9f45413cd 100644 --- a/test/libc/bits/test.mk +++ b/test/libc/bits/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_BITS_SRCS := $(wildcard test/libc/bits/*.c) TEST_LIBC_BITS_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_BITS_SRCS)) TEST_LIBC_BITS_OBJS = \ - $(TEST_LIBC_BITS_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_BITS_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_BITS_COMS = \ @@ -24,11 +23,12 @@ TEST_LIBC_BITS_CHECKS = \ $(TEST_LIBC_BITS_SRCS_TEST:%.c=o/$(MODE)/%.com.runs) TEST_LIBC_BITS_DIRECTDEPS = \ - LIBC_X \ LIBC_BITS \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ LIBC_STUBS \ LIBC_TESTLIB \ + LIBC_X \ THIRD_PARTY_COMPILER_RT TEST_LIBC_BITS_DEPS := \ diff --git a/test/libc/calls/test.mk b/test/libc/calls/test.mk index b753a0775..49c60e349 100644 --- a/test/libc/calls/test.mk +++ b/test/libc/calls/test.mk @@ -9,7 +9,6 @@ TEST_LIBC_CALLS_SRCS := \ TEST_LIBC_CALLS_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_CALLS_SRCS)) TEST_LIBC_CALLS_OBJS = \ - $(TEST_LIBC_CALLS_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_CALLS_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_CALLS_COMS = \ @@ -29,12 +28,13 @@ TEST_LIBC_CALLS_DIRECTDEPS = \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ + LIBC_RAND \ LIBC_RUNTIME \ LIBC_STR \ - LIBC_RAND \ LIBC_STUBS \ LIBC_SYSV \ LIBC_TESTLIB \ diff --git a/test/libc/crypto/test.mk b/test/libc/crypto/test.mk index 8511bbe17..3b2ec1427 100644 --- a/test/libc/crypto/test.mk +++ b/test/libc/crypto/test.mk @@ -8,7 +8,6 @@ TEST_LIBC_CRYPTO_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_CRYPTO_SRCS)) TEST_LIBC_CRYPTO_COMS = $(TEST_LIBC_CRYPTO_OBJS:%.o=%.com) TEST_LIBC_CRYPTO_OBJS = \ - $(TEST_LIBC_CRYPTO_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_CRYPTO_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_CRYPTO_BINS = \ @@ -23,9 +22,10 @@ TEST_LIBC_CRYPTO_CHECKS = \ TEST_LIBC_CRYPTO_DIRECTDEPS = \ LIBC_CRYPTO \ - LIBC_RUNTIME \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ + LIBC_RUNTIME \ LIBC_STUBS \ LIBC_TESTLIB diff --git a/test/libc/dns/test.mk b/test/libc/dns/test.mk index 399b83f5d..6189bf4b7 100644 --- a/test/libc/dns/test.mk +++ b/test/libc/dns/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_DNS_SRCS := $(wildcard test/libc/dns/*.c) TEST_LIBC_DNS_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_DNS_SRCS)) TEST_LIBC_DNS_OBJS = \ - $(TEST_LIBC_DNS_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_DNS_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_DNS_COMS = \ @@ -27,6 +26,7 @@ TEST_LIBC_DNS_DIRECTDEPS = \ LIBC_CALLS_HEFTY \ LIBC_DNS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ diff --git a/test/libc/fmt/test.mk b/test/libc/fmt/test.mk index 32f67af0d..8b2369b3f 100644 --- a/test/libc/fmt/test.mk +++ b/test/libc/fmt/test.mk @@ -9,7 +9,6 @@ TEST_LIBC_FMT_BINS = $(TEST_LIBC_FMT_COMS) $(TEST_LIBC_FMT_COMS:%=%.dbg) TEST_LIBC_FMT_TESTS = $(TEST_LIBC_FMT_SRCS_TEST:%.c=o/$(MODE)/%.com.ok) TEST_LIBC_FMT_OBJS = \ - $(TEST_LIBC_FMT_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_FMT_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_FMT_COMS = \ @@ -22,11 +21,12 @@ TEST_LIBC_FMT_DIRECTDEPS = \ LIBC_ALG \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ + LIBC_LOG \ + LIBC_LOG_ASAN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ - LIBC_LOG \ - LIBC_LOG_ASAN \ LIBC_STDIO \ LIBC_STR \ LIBC_STUBS \ diff --git a/test/libc/intrin/test.mk b/test/libc/intrin/test.mk index 980caa666..ff176b2c6 100644 --- a/test/libc/intrin/test.mk +++ b/test/libc/intrin/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_INTRIN_SRCS := $(wildcard test/libc/intrin/*.c) TEST_LIBC_INTRIN_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_INTRIN_SRCS)) TEST_LIBC_INTRIN_OBJS = \ - $(TEST_LIBC_INTRIN_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_INTRIN_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_INTRIN_COMS = \ @@ -26,14 +25,14 @@ TEST_LIBC_INTRIN_CHECKS = \ TEST_LIBC_INTRIN_DIRECTDEPS = \ LIBC_FMT \ LIBC_INTRIN \ + LIBC_LOG \ LIBC_NEXGEN32E \ LIBC_RAND \ - LIBC_LOG \ - LIBC_STUBS \ + LIBC_RUNTIME \ LIBC_STR \ + LIBC_STUBS \ LIBC_TESTLIB \ LIBC_TINYMATH \ - LIBC_RUNTIME \ LIBC_X \ TOOL_VIZ_LIB diff --git a/test/libc/math/test.mk b/test/libc/math/test.mk index 56ee4e0d2..7d3919f16 100644 --- a/test/libc/math/test.mk +++ b/test/libc/math/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_MATH_SRCS := $(wildcard test/libc/math/*.c) TEST_LIBC_MATH_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_MATH_SRCS)) TEST_LIBC_MATH_OBJS = \ - $(TEST_LIBC_MATH_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_MATH_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_MATH_COMS = \ @@ -25,8 +24,10 @@ TEST_LIBC_MATH_CHECKS = \ TEST_LIBC_MATH_DIRECTDEPS = \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MATH \ LIBC_MEM \ + LIBC_NEXGEN32E \ LIBC_RUNTIME \ LIBC_STUBS \ LIBC_TESTLIB \ diff --git a/test/libc/mem/test.mk b/test/libc/mem/test.mk index 1b1e64e09..0ddfb6ac3 100644 --- a/test/libc/mem/test.mk +++ b/test/libc/mem/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_MEM_SRCS := $(wildcard test/libc/mem/*.c) TEST_LIBC_MEM_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_MEM_SRCS)) TEST_LIBC_MEM_OBJS = \ - $(TEST_LIBC_MEM_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_MEM_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_MEM_COMS = \ @@ -23,15 +22,16 @@ TEST_LIBC_MEM_CHECKS = \ $(TEST_LIBC_MEM_SRCS_TEST:%.c=o/$(MODE)/%.com.runs) TEST_LIBC_MEM_DIRECTDEPS = \ - LIBC_MEM \ LIBC_CALLS \ - LIBC_STUBS \ - LIBC_NEXGEN32E \ - LIBC_SYSV \ LIBC_FMT \ + LIBC_INTRIN \ + LIBC_MEM \ + LIBC_NEXGEN32E \ + LIBC_RAND \ LIBC_RUNTIME \ LIBC_STDIO \ - LIBC_RAND \ + LIBC_STUBS \ + LIBC_SYSV \ LIBC_TESTLIB TEST_LIBC_MEM_DEPS := \ diff --git a/test/libc/nexgen32e/test.mk b/test/libc/nexgen32e/test.mk index 4b8bbf68f..4affd2f67 100644 --- a/test/libc/nexgen32e/test.mk +++ b/test/libc/nexgen32e/test.mk @@ -9,7 +9,6 @@ TEST_LIBC_NEXGEN32E_SRCS_TEST = \ $(filter %_test.c,$(TEST_LIBC_NEXGEN32E_SRCS)) TEST_LIBC_NEXGEN32E_OBJS = \ - $(TEST_LIBC_NEXGEN32E_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_NEXGEN32E_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_NEXGEN32E_COMS = \ @@ -30,16 +29,17 @@ TEST_LIBC_NEXGEN32E_DIRECTDEPS = \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ - LIBC_STDIO \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RAND \ LIBC_RUNTIME \ - LIBC_STUBS \ + LIBC_STDIO \ LIBC_STR \ - LIBC_UNICODE \ + LIBC_STUBS \ LIBC_TESTLIB \ + LIBC_UNICODE \ LIBC_X \ TOOL_VIZ_LIB diff --git a/test/libc/rand/test.mk b/test/libc/rand/test.mk index 188cbcf87..597abe9ef 100644 --- a/test/libc/rand/test.mk +++ b/test/libc/rand/test.mk @@ -8,7 +8,6 @@ TEST_LIBC_RAND_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_RAND_SRCS)) TEST_LIBC_RAND_BINS = $(TEST_LIBC_RAND_COMS) $(TEST_LIBC_RAND_COMS:%=%.dbg) TEST_LIBC_RAND_OBJS = \ - $(TEST_LIBC_RAND_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_RAND_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_RAND_COMS = \ @@ -22,6 +21,7 @@ TEST_LIBC_RAND_CHECKS = \ TEST_LIBC_RAND_DIRECTDEPS = \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ LIBC_RAND \ LIBC_RUNTIME \ diff --git a/test/libc/release/smoke.c b/test/libc/release/smoke.c index ba622f85a..793bd4bc9 100644 --- a/test/libc/release/smoke.c +++ b/test/libc/release/smoke.c @@ -1,7 +1,11 @@ int main() { + int rc; FILE *f; f = fopen("/dev/null", "w"); fprintf(f, "hello world\n"); fclose(f); + rc = system("exit 42"); + CHECK_NE(-1, rc); + CHECK_EQ(42, WEXITSTATUS(rc)); return 0; } diff --git a/test/libc/release/test.mk b/test/libc/release/test.mk index 9344d2b5f..de3c7f8a7 100644 --- a/test/libc/release/test.mk +++ b/test/libc/release/test.mk @@ -7,9 +7,13 @@ o/$(MODE)/test/libc/release/cosmopolitan.zip: \ o/$(MODE)/libc/crt/crt.o \ o/$(MODE)/ape/ape.o \ o/$(MODE)/cosmopolitan.a - zip -j $@ $^ + @zip -j $@ $^ o/$(MODE)/test/libc/release/smoke.com: \ + o/$(MODE)/test/libc/release/smoke.com.dbg + @objcopy -SO binary $< $@ + +o/$(MODE)/test/libc/release/smoke.com.dbg: \ test/libc/release/smoke.c \ o/cosmopolitan.h \ o/$(MODE)/ape/ape.lds \ @@ -26,7 +30,6 @@ o/$(MODE)/test/libc/release/smoke.com: \ -nostdinc \ -mno-red-zone \ -Wl,--gc-sections \ - -Wl,--oformat=binary \ -Wl,-z,max-page-size=0x1000 \ -Wl,-T,o/$(MODE)/ape/ape.lds \ -include o/cosmopolitan.h \ diff --git a/test/libc/runtime/test.mk b/test/libc/runtime/test.mk index 5e29ae6ed..813b9215b 100644 --- a/test/libc/runtime/test.mk +++ b/test/libc/runtime/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_RUNTIME_SRCS := $(wildcard test/libc/runtime/*.c) TEST_LIBC_RUNTIME_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_RUNTIME_SRCS)) TEST_LIBC_RUNTIME_OBJS = \ - $(TEST_LIBC_RUNTIME_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_RUNTIME_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_RUNTIME_COMS = \ @@ -28,18 +27,19 @@ TEST_LIBC_RUNTIME_DIRECTDEPS = \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ + LIBC_LOG \ + LIBC_LOG_ASAN \ LIBC_MEM \ - LIBC_TINYMATH \ LIBC_NEXGEN32E \ LIBC_RAND \ LIBC_RUNTIME \ LIBC_STDIO \ - LIBC_LOG \ - LIBC_LOG_ASAN \ LIBC_STR \ LIBC_STUBS \ LIBC_SYSV \ LIBC_TESTLIB \ + LIBC_TINYMATH \ LIBC_X \ THIRD_PARTY_XED diff --git a/test/libc/sock/test.mk b/test/libc/sock/test.mk index 740a12f5e..c0deafefe 100644 --- a/test/libc/sock/test.mk +++ b/test/libc/sock/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_SOCK_SRCS := $(wildcard test/libc/sock/*.c) TEST_LIBC_SOCK_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_SOCK_SRCS)) TEST_LIBC_SOCK_OBJS = \ - $(TEST_LIBC_SOCK_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_SOCK_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_SOCK_COMS = \ @@ -26,11 +25,12 @@ TEST_LIBC_SOCK_CHECKS = \ TEST_LIBC_SOCK_DIRECTDEPS = \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ - LIBC_STDIO \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ LIBC_SOCK \ + LIBC_STDIO \ LIBC_STUBS \ LIBC_SYSV \ LIBC_TESTLIB \ diff --git a/test/libc/stdio/test.mk b/test/libc/stdio/test.mk index a6de40a33..2ba4d0542 100644 --- a/test/libc/stdio/test.mk +++ b/test/libc/stdio/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_STDIO_SRCS := $(wildcard test/libc/stdio/*.c) TEST_LIBC_STDIO_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_STDIO_SRCS)) TEST_LIBC_STDIO_OBJS = \ - $(TEST_LIBC_STDIO_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_STDIO_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_STDIO_COMS = \ @@ -28,6 +27,8 @@ TEST_LIBC_STDIO_DIRECTDEPS = \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ + LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ LIBC_STDIO \ diff --git a/test/libc/str/test.mk b/test/libc/str/test.mk index c09588ed3..34dbc1e15 100644 --- a/test/libc/str/test.mk +++ b/test/libc/str/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_STR_SRCS := $(wildcard test/libc/str/*.c) TEST_LIBC_STR_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_STR_SRCS)) TEST_LIBC_STR_OBJS = \ - $(TEST_LIBC_STR_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_STR_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_STR_COMS = \ @@ -24,21 +23,22 @@ TEST_LIBC_STR_CHECKS = \ $(TEST_LIBC_STR_SRCS_TEST:%.c=o/$(MODE)/%.com.runs) TEST_LIBC_STR_DIRECTDEPS = \ - LIBC_CALLS_HEFTY \ LIBC_ALG \ - LIBC_FMT \ - LIBC_NEXGEN32E \ - LIBC_STDIO \ - LIBC_MEM \ - LIBC_RUNTIME \ - LIBC_STR \ - LIBC_RAND \ - LIBC_UNICODE \ LIBC_CALLS \ + LIBC_CALLS_HEFTY \ + LIBC_FMT \ + LIBC_INTRIN \ + LIBC_LOG \ + LIBC_MEM \ + LIBC_NEXGEN32E \ + LIBC_RAND \ + LIBC_RUNTIME \ + LIBC_STDIO \ + LIBC_STR \ LIBC_STUBS \ LIBC_SYSV \ LIBC_TESTLIB \ - LIBC_LOG \ + LIBC_UNICODE \ LIBC_X \ LIBC_ZIPOS \ THIRD_PARTY_REGEX \ diff --git a/test/libc/time/test.mk b/test/libc/time/test.mk index c8164e3c0..a3b4d97e1 100644 --- a/test/libc/time/test.mk +++ b/test/libc/time/test.mk @@ -8,7 +8,6 @@ TEST_LIBC_TIME_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_TIME_SRCS)) TEST_LIBC_TIME_BINS = $(TEST_LIBC_TIME_COMS) $(TEST_LIBC_TIME_COMS:%=%.dbg) TEST_LIBC_TIME_OBJS = \ - $(TEST_LIBC_TIME_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_TIME_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_TIME_COMS = \ @@ -21,12 +20,13 @@ TEST_LIBC_TIME_CHECKS = \ TEST_LIBC_TIME_DIRECTDEPS = \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ + LIBC_INTRIN \ + LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ LIBC_STUBS \ LIBC_SYSV \ - LIBC_LOG \ LIBC_TESTLIB \ LIBC_TIME \ LIBC_X diff --git a/test/libc/tinymath/test.mk b/test/libc/tinymath/test.mk index 67efa43cc..68fa4edcd 100644 --- a/test/libc/tinymath/test.mk +++ b/test/libc/tinymath/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_TINYMATH_SRCS := $(wildcard test/libc/tinymath/*.c) TEST_LIBC_TINYMATH_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_TINYMATH_SRCS)) TEST_LIBC_TINYMATH_OBJS = \ - $(TEST_LIBC_TINYMATH_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_TINYMATH_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_TINYMATH_COMS = \ @@ -26,12 +25,13 @@ TEST_LIBC_TINYMATH_CHECKS = \ TEST_LIBC_TINYMATH_DIRECTDEPS = \ LIBC_CALLS_HEFTY \ LIBC_FMT \ - LIBC_TINYMATH \ + LIBC_INTRIN \ LIBC_MEM \ - LIBC_RUNTIME \ LIBC_NEXGEN32E \ + LIBC_RUNTIME \ LIBC_STUBS \ LIBC_TESTLIB \ + LIBC_TINYMATH \ LIBC_X TEST_LIBC_TINYMATH_DEPS := \ diff --git a/test/libc/unicode/test.mk b/test/libc/unicode/test.mk index 305a28832..dbe1d02ae 100644 --- a/test/libc/unicode/test.mk +++ b/test/libc/unicode/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_UNICODE_SRCS := $(wildcard test/libc/unicode/*.c) TEST_LIBC_UNICODE_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_UNICODE_SRCS)) TEST_LIBC_UNICODE_OBJS = \ - $(TEST_LIBC_UNICODE_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_UNICODE_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_UNICODE_COMS = \ @@ -24,6 +23,7 @@ TEST_LIBC_UNICODE_CHECKS = \ $(TEST_LIBC_UNICODE_SRCS_TEST:%.c=o/$(MODE)/%.com.runs) TEST_LIBC_UNICODE_DIRECTDEPS = \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ LIBC_STR \ LIBC_STUBS \ diff --git a/test/libc/x/test.mk b/test/libc/x/test.mk index d6dda24d4..ad075eef0 100644 --- a/test/libc/x/test.mk +++ b/test/libc/x/test.mk @@ -7,7 +7,6 @@ TEST_LIBC_X_SRCS := $(wildcard test/libc/x/*.c) TEST_LIBC_X_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_X_SRCS)) TEST_LIBC_X_OBJS = \ - $(TEST_LIBC_X_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_X_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_X_COMS = \ @@ -26,14 +25,15 @@ TEST_LIBC_X_CHECKS = \ TEST_LIBC_X_DIRECTDEPS = \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MEM \ - LIBC_STDIO \ - LIBC_STR \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ - LIBC_X \ + LIBC_STDIO \ + LIBC_STR \ LIBC_STUBS \ LIBC_TESTLIB \ + LIBC_X \ THIRD_PARTY_GDTOA TEST_LIBC_X_DEPS := \ diff --git a/test/libc/xed/test.mk b/test/libc/xed/test.mk index b1c9b78a6..0a30a7f69 100644 --- a/test/libc/xed/test.mk +++ b/test/libc/xed/test.mk @@ -22,10 +22,10 @@ TEST_LIBC_XED_TESTLIB_A = o/$(MODE)/test/libc/xed/testlib.a TEST_LIBC_XED_TESTLIB_A_SRCS = $(filter %_lib.c,$(TEST_LIBC_XED_FILES)) TEST_LIBC_XED_TESTLIB_A_OBJS = \ - $(TEST_LIBC_XED_TESTLIB_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_XED_TESTLIB_A_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_XED_TESTLIB_A_DIRECTDEPS = \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ @@ -53,7 +53,6 @@ PKGS += TEST_LIBC_XED TEST_LIBC_XED_SRCS = $(filter %_test.c,$(TEST_LIBC_XED_FILES)) TEST_LIBC_XED_OBJS = \ - $(TEST_LIBC_XED_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_LIBC_XED_SRCS:%.c=o/$(MODE)/%.o) TEST_LIBC_XED_COMS = \ @@ -71,6 +70,7 @@ TEST_LIBC_XED_CHECKS = \ TEST_LIBC_XED_DIRECTDEPS = \ LIBC_CALLS_HEFTY \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ diff --git a/test/net/http/test.mk b/test/net/http/test.mk index 140337b86..cef814261 100644 --- a/test/net/http/test.mk +++ b/test/net/http/test.mk @@ -8,7 +8,6 @@ TEST_NET_HTTP_SRCS_TEST = $(filter %_test.c,$(TEST_NET_HTTP_SRCS)) TEST_NET_HTTP_BINS = $(TEST_NET_HTTP_COMS) $(TEST_NET_HTTP_COMS:%=%.dbg) TEST_NET_HTTP_OBJS = \ - $(TEST_NET_HTTP_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_NET_HTTP_SRCS:%.c=o/$(MODE)/%.o) TEST_NET_HTTP_COMS = \ diff --git a/test/tool/build/lib/test.mk b/test/tool/build/lib/test.mk index 410689ab6..dda3332c2 100644 --- a/test/tool/build/lib/test.mk +++ b/test/tool/build/lib/test.mk @@ -12,7 +12,6 @@ TEST_TOOL_BUILD_LIB_HDRS = $(filter %.h,$(TEST_TOOL_BUILD_LIB_FILES)) TEST_TOOL_BUILD_LIB_COMS = $(TEST_TOOL_BUILD_LIB_OBJS:%.o=%.com) TEST_TOOL_BUILD_LIB_OBJS = \ - $(TEST_TOOL_BUILD_LIB_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_TOOL_BUILD_LIB_SRCS:%.c=o/$(MODE)/%.o) TEST_TOOL_BUILD_LIB_COMS = \ @@ -30,21 +29,22 @@ TEST_TOOL_BUILD_LIB_CHECKS = \ $(TEST_TOOL_BUILD_LIB_SRCS_TEST:%.c=o/$(MODE)/%.com.runs) TEST_TOOL_BUILD_LIB_DIRECTDEPS = \ - LIBC_X \ LIBC_CALLS \ + LIBC_FMT \ + LIBC_INTRIN \ + LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ - LIBC_FMT \ - LIBC_STR \ LIBC_STDIO \ - LIBC_LOG \ - LIBC_SYSV \ + LIBC_STR \ LIBC_STUBS \ - LIBC_UNICODE \ + LIBC_SYSV \ LIBC_TESTLIB \ - TOOL_BUILD_LIB \ + LIBC_UNICODE \ + LIBC_X \ THIRD_PARTY_COMPILER_RT \ + TOOL_BUILD_LIB \ THIRD_PARTY_XED TEST_TOOL_BUILD_LIB_DEPS := \ diff --git a/test/tool/viz/lib/test.mk b/test/tool/viz/lib/test.mk index f25738e36..7cc0b840e 100644 --- a/test/tool/viz/lib/test.mk +++ b/test/tool/viz/lib/test.mk @@ -7,7 +7,6 @@ TEST_TOOL_VIZ_LIB_SRCS := $(wildcard test/tool/viz/lib/*.c) TEST_TOOL_VIZ_LIB_SRCS_TEST = $(filter %_test.c,$(TEST_TOOL_VIZ_LIB_SRCS)) TEST_TOOL_VIZ_LIB_OBJS = \ - $(TEST_TOOL_VIZ_LIB_SRCS:%=o/$(MODE)/%.zip.o) \ $(TEST_TOOL_VIZ_LIB_SRCS:%.c=o/$(MODE)/%.o) TEST_TOOL_VIZ_LIB_COMS = \ @@ -25,19 +24,20 @@ TEST_TOOL_VIZ_LIB_CHECKS = \ TEST_TOOL_VIZ_LIB_DIRECTDEPS = \ DSP_MPEG \ + LIBC_ALG \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ - LIBC_UNICODE \ - LIBC_TIME \ LIBC_MEM \ LIBC_NEXGEN32E \ - LIBC_RUNTIME \ - LIBC_ALG \ LIBC_RAND \ + LIBC_RUNTIME \ LIBC_STDIO \ LIBC_STUBS \ - LIBC_TINYMATH \ LIBC_TESTLIB \ + LIBC_TIME \ + LIBC_TINYMATH \ + LIBC_UNICODE \ LIBC_X \ TOOL_VIZ_LIB diff --git a/third_party/blas/blas.mk b/third_party/blas/blas.mk index 7c3273d6e..a37d32b36 100644 --- a/third_party/blas/blas.mk +++ b/third_party/blas/blas.mk @@ -16,7 +16,6 @@ THIRD_PARTY_BLAS_A_SRCS = \ $(THIRD_PARTY_BLAS_A_SRCS_C) THIRD_PARTY_BLAS_A_OBJS = \ - $(THIRD_PARTY_BLAS_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_BLAS_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(THIRD_PARTY_BLAS_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -25,8 +24,9 @@ THIRD_PARTY_BLAS_A_CHECKS = \ $(THIRD_PARTY_BLAS_A_HDRS:%=o/$(MODE)/%.ok) THIRD_PARTY_BLAS_A_DIRECTDEPS = \ - LIBC_STUBS \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ + LIBC_STUBS \ THIRD_PARTY_F2C THIRD_PARTY_BLAS_A_DEPS := \ diff --git a/third_party/chibicc/chibicc.mk b/third_party/chibicc/chibicc.mk index 10cc3dccb..c7cb18fee 100644 --- a/third_party/chibicc/chibicc.mk +++ b/third_party/chibicc/chibicc.mk @@ -37,10 +37,8 @@ THIRD_PARTY_CHIBICC_BINS = \ o/$(MODE)/third_party/chibicc/chibicc2.com THIRD_PARTY_CHIBICC_A_OBJS = \ - $(THIRD_PARTY_CHIBICC_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_CHIBICC_A_SRCS:%.c=o/$(MODE)/%.o) THIRD_PARTY_CHIBICC2_A_OBJS = \ - $(THIRD_PARTY_CHIBICC_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_CHIBICC_A_SRCS:%.c=o/$(MODE)/%.chibicc.o) THIRD_PARTY_CHIBICC_A_CHECKS = \ @@ -54,21 +52,22 @@ THIRD_PARTY_CHIBICC_A_DIRECTDEPS = \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ + LIBC_LOG \ LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ LIBC_STDIO \ - LIBC_LOG \ LIBC_STR \ LIBC_STUBS \ + LIBC_SYSV \ LIBC_TIME \ LIBC_UNICODE \ - LIBC_SYSV \ LIBC_X \ - TOOL_BUILD_LIB \ THIRD_PARTY_COMPILER_RT \ THIRD_PARTY_DLMALLOC \ + TOOL_BUILD_LIB \ THIRD_PARTY_GDTOA THIRD_PARTY_CHIBICC_A_DEPS := \ diff --git a/third_party/chibicc/test/test.mk b/third_party/chibicc/test/test.mk index 73a27230b..6c2add980 100644 --- a/third_party/chibicc/test/test.mk +++ b/third_party/chibicc/test/test.mk @@ -25,11 +25,9 @@ THIRD_PARTY_CHIBICC_TEST_COMS = \ $(THIRD_PARTY_CHIBICC_TEST_SRCS_TEST:%.c=o/$(MODE)/%2.com) THIRD_PARTY_CHIBICC_TEST_OBJS = \ - $(THIRD_PARTY_CHIBICC_TEST_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_CHIBICC_TEST_SRCS:%.c=o/$(MODE)/%.chibicc.o) THIRD_PARTY_CHIBICC_TEST2_OBJS = \ - $(THIRD_PARTY_CHIBICC_TEST_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_CHIBICC_TEST_SRCS:%.c=o/$(MODE)/%.chibicc2.o) THIRD_PARTY_CHIBICC_TEST_BINS = \ @@ -41,15 +39,16 @@ THIRD_PARTY_CHIBICC_TEST_CHECKS = \ $(THIRD_PARTY_CHIBICC_TEST_HDRS:%=o/$(MODE)/%.ok) THIRD_PARTY_CHIBICC_TEST_DIRECTDEPS = \ - LIBC_RUNTIME \ LIBC_FMT \ - LIBC_STR \ - LIBC_STDIO \ - LIBC_STUBS \ - LIBC_NEXGEN32E \ - LIBC_UNICODE \ + LIBC_INTRIN \ LIBC_MEM \ + LIBC_NEXGEN32E \ + LIBC_RUNTIME \ + LIBC_STDIO \ + LIBC_STR \ + LIBC_STUBS \ LIBC_TINYMATH \ + LIBC_UNICODE \ LIBC_X \ THIRD_PARTY_CHIBICC \ THIRD_PARTY_COMPILER_RT diff --git a/third_party/compiler_rt/compiler_rt.mk b/third_party/compiler_rt/compiler_rt.mk index 369923366..e888d5742 100644 --- a/third_party/compiler_rt/compiler_rt.mk +++ b/third_party/compiler_rt/compiler_rt.mk @@ -18,7 +18,6 @@ THIRD_PARTY_COMPILER_RT_A_SRCS = \ $(THIRD_PARTY_COMPILER_RT_A_SRCS_C) THIRD_PARTY_COMPILER_RT_A_OBJS = \ - $(THIRD_PARTY_COMPILER_RT_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_COMPILER_RT_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(THIRD_PARTY_COMPILER_RT_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -27,8 +26,10 @@ THIRD_PARTY_COMPILER_RT_A_CHECKS = \ $(THIRD_PARTY_COMPILER_RT_A_HDRS:%=o/$(MODE)/%.ok) THIRD_PARTY_COMPILER_RT_A_DIRECTDEPS = \ - LIBC_TINYMATH \ - LIBC_STUBS + LIBC_INTRIN \ + LIBC_NEXGEN32E \ + LIBC_STUBS \ + LIBC_TINYMATH THIRD_PARTY_COMPILER_RT_A_DEPS := \ $(call uniq,$(foreach x,$(THIRD_PARTY_COMPILER_RT_A_DIRECTDEPS),$($(x)))) diff --git a/third_party/dlmalloc/dlmalloc.mk b/third_party/dlmalloc/dlmalloc.mk index 95bb7b0b0..72e8315bc 100644 --- a/third_party/dlmalloc/dlmalloc.mk +++ b/third_party/dlmalloc/dlmalloc.mk @@ -16,7 +16,6 @@ THIRD_PARTY_DLMALLOC_A_SRCS = \ $(THIRD_PARTY_DLMALLOC_A_SRCS_C) THIRD_PARTY_DLMALLOC_A_OBJS = \ - $(THIRD_PARTY_DLMALLOC_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_DLMALLOC_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(THIRD_PARTY_DLMALLOC_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -27,6 +26,7 @@ THIRD_PARTY_DLMALLOC_A_CHECKS = \ THIRD_PARTY_DLMALLOC_A_DIRECTDEPS = \ LIBC_BITS \ LIBC_CALLS \ + LIBC_INTRIN \ LIBC_FMT \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ diff --git a/third_party/duktape/duktape.mk b/third_party/duktape/duktape.mk index dbd6e73c7..49f800c19 100644 --- a/third_party/duktape/duktape.mk +++ b/third_party/duktape/duktape.mk @@ -18,7 +18,6 @@ THIRD_PARTY_DUKTAPE_A_SRCS = \ $(THIRD_PARTY_DUKTAPE_A_SRCS_C) THIRD_PARTY_DUKTAPE_A_OBJS = \ - $(THIRD_PARTY_DUKTAPE_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_DUKTAPE_A_SRCS_A:%.s=o/$(MODE)/%.o) \ $(THIRD_PARTY_DUKTAPE_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(THIRD_PARTY_DUKTAPE_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -28,11 +27,12 @@ THIRD_PARTY_DUKTAPE_A_CHECKS = \ THIRD_PARTY_DUKTAPE_A_DIRECTDEPS = \ LIBC_CALLS \ - LIBC_STUBS \ LIBC_FMT \ - LIBC_TIME \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_STR \ + LIBC_STUBS \ + LIBC_TIME \ LIBC_TINYMATH \ LIBC_UNICODE \ LIBC_NEXGEN32E diff --git a/third_party/f2c/f2c.mk b/third_party/f2c/f2c.mk index 3e7653c9e..fad077a60 100644 --- a/third_party/f2c/f2c.mk +++ b/third_party/f2c/f2c.mk @@ -14,7 +14,6 @@ THIRD_PARTY_F2C_A_SRCS = \ $(THIRD_PARTY_F2C_A_SRCS_C) THIRD_PARTY_F2C_A_OBJS = \ - $(THIRD_PARTY_F2C_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_F2C_A_SRCS_C:%.c=o/$(MODE)/%.o) THIRD_PARTY_F2C_A_CHECKS = \ @@ -25,6 +24,7 @@ THIRD_PARTY_F2C_A_DIRECTDEPS = \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ diff --git a/third_party/gdtoa/gdtoa.mk b/third_party/gdtoa/gdtoa.mk index ebc56bfbe..deff0ad14 100644 --- a/third_party/gdtoa/gdtoa.mk +++ b/third_party/gdtoa/gdtoa.mk @@ -16,7 +16,6 @@ THIRD_PARTY_GDTOA_A_SRCS = \ $(THIRD_PARTY_GDTOA_A_SRCS_C) THIRD_PARTY_GDTOA_A_OBJS = \ - $(THIRD_PARTY_GDTOA_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_GDTOA_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(THIRD_PARTY_GDTOA_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -25,12 +24,13 @@ THIRD_PARTY_GDTOA_A_CHECKS = \ $(THIRD_PARTY_GDTOA_A_HDRS:%=o/$(MODE)/%.ok) THIRD_PARTY_GDTOA_A_DIRECTDEPS = \ - LIBC_TINYMATH \ - LIBC_STR \ - LIBC_STUBS \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ - LIBC_SYSV + LIBC_STR \ + LIBC_STUBS \ + LIBC_SYSV \ + LIBC_TINYMATH THIRD_PARTY_GDTOA_A_DEPS := \ $(call uniq,$(foreach x,$(THIRD_PARTY_GDTOA_A_DIRECTDEPS),$($(x)))) diff --git a/third_party/getopt/getopt.mk b/third_party/getopt/getopt.mk index 4c1755387..07e5dec93 100644 --- a/third_party/getopt/getopt.mk +++ b/third_party/getopt/getopt.mk @@ -16,7 +16,6 @@ THIRD_PARTY_GETOPT_A_SRCS = \ $(THIRD_PARTY_GETOPT_A_SRCS_C) THIRD_PARTY_GETOPT_A_OBJS = \ - $(THIRD_PARTY_GETOPT_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_GETOPT_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(THIRD_PARTY_GETOPT_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -27,11 +26,12 @@ THIRD_PARTY_GETOPT_A_CHECKS = \ THIRD_PARTY_GETOPT_A_DIRECTDEPS = \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_NEXGEN32E \ LIBC_STDIO \ - LIBC_STUBS \ - LIBC_STR + LIBC_STR \ + LIBC_STUBS THIRD_PARTY_GETOPT_A_DEPS := \ $(call uniq,$(foreach x,$(THIRD_PARTY_GETOPT_A_DIRECTDEPS),$($(x)))) diff --git a/third_party/lemon/lemon.mk b/third_party/lemon/lemon.mk index 3b9874000..c055b2ada 100644 --- a/third_party/lemon/lemon.mk +++ b/third_party/lemon/lemon.mk @@ -7,7 +7,6 @@ THIRD_PARTY_LEMON = o/$(MODE)/third_party/lemon/lemon.com.dbg THIRD_PARTY_LEMON_OBJS = \ o/$(MODE)/third_party/lemon/lemon.o \ - o/$(MODE)/third_party/lemon/lemon.c.zip.o \ o/$(MODE)/third_party/lemon/lempar.c.txt.zip.o THIRD_PARTY_LEMON_COMS = \ @@ -23,6 +22,7 @@ THIRD_PARTY_LEMON_DIRECTDEPS = \ LIBC_ALG \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ diff --git a/third_party/lz4cli/lz4cli.mk b/third_party/lz4cli/lz4cli.mk index b024e33af..9f1376bcc 100644 --- a/third_party/lz4cli/lz4cli.mk +++ b/third_party/lz4cli/lz4cli.mk @@ -24,15 +24,7 @@ THIRD_PARTY_LZ4CLI_OBJS = \ o/$(MODE)/third_party/lz4cli/lz4hc.o \ o/$(MODE)/third_party/lz4cli/lz4frame.o \ o/$(MODE)/third_party/lz4cli/datagen.o \ - o/$(MODE)/third_party/lz4cli/xxhash.o \ - o/$(MODE)/third_party/lz4cli/bench.c.zip.o \ - o/$(MODE)/third_party/lz4cli/lz4.c.zip.o \ - o/$(MODE)/third_party/lz4cli/lz4cli.c.zip.o \ - o/$(MODE)/third_party/lz4cli/lz4io.c.zip.o \ - o/$(MODE)/third_party/lz4cli/lz4hc.c.zip.o \ - o/$(MODE)/third_party/lz4cli/lz4frame.c.zip.o \ - o/$(MODE)/third_party/lz4cli/datagen.c.zip.o \ - o/$(MODE)/third_party/lz4cli/xxhash.c.zip.o + o/$(MODE)/third_party/lz4cli/xxhash.o o/$(MODE)/third_party/lz4cli/lz4.o \ o/$(MODE)/third_party/lz4cli/lz4io.o \ @@ -43,9 +35,10 @@ o/$(MODE)/third_party/lz4cli/datagen.o: \ -DSTACK_FRAME_UNLIMITED THIRD_PARTY_LZ4CLI_DIRECTDEPS = \ + LIBC_CALLS_HEFTY \ + LIBC_INTRIN \ LIBC_STDIO \ LIBC_TIME \ - LIBC_CALLS_HEFTY \ LIBC_UNICODE THIRD_PARTY_LZ4CLI_DEPS := \ diff --git a/third_party/musl/musl.mk b/third_party/musl/musl.mk index 772758587..d1b5b69bb 100644 --- a/third_party/musl/musl.mk +++ b/third_party/musl/musl.mk @@ -14,13 +14,13 @@ THIRD_PARTY_MUSL_A_HDRS = $(filter %.h,$(THIRD_PARTY_MUSL_A_FILES)) THIRD_PARTY_MUSL_A_SRCS = $(filter %.c,$(THIRD_PARTY_MUSL_A_FILES)) THIRD_PARTY_MUSL_A_OBJS = \ - $(THIRD_PARTY_MUSL_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_MUSL_A_SRCS:%.c=o/$(MODE)/%.o) THIRD_PARTY_MUSL_A_DIRECTDEPS = \ LIBC_ALG \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_STDIO \ diff --git a/third_party/regex/regex.mk b/third_party/regex/regex.mk index 78473a10d..ecb602015 100644 --- a/third_party/regex/regex.mk +++ b/third_party/regex/regex.mk @@ -11,12 +11,12 @@ THIRD_PARTY_REGEX_A_HDRS = $(filter %.h,$(THIRD_PARTY_REGEX_A_FILES)) THIRD_PARTY_REGEX_A_SRCS = $(filter %.c,$(THIRD_PARTY_REGEX_A_FILES)) THIRD_PARTY_REGEX_A_OBJS = \ - $(THIRD_PARTY_REGEX_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_REGEX_A_SRCS:%.c=o/$(MODE)/%.o) THIRD_PARTY_REGEX_A_DIRECTDEPS = \ LIBC_ALG \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_STR \ diff --git a/third_party/stb/stb.mk b/third_party/stb/stb.mk index 62f10c6e2..55ff9c130 100644 --- a/third_party/stb/stb.mk +++ b/third_party/stb/stb.mk @@ -21,7 +21,6 @@ THIRD_PARTY_STB_A_SRCS = \ $(THIRD_PARTY_STB_A_SRCS_C) THIRD_PARTY_STB_A_OBJS = \ - $(THIRD_PARTY_STB_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_STB_A_OBJS_S) \ $(THIRD_PARTY_STB_A_OBJS_C) @@ -30,6 +29,7 @@ THIRD_PARTY_STB_A_DIRECTDEPS = \ LIBC_ALG \ LIBC_BITS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ diff --git a/third_party/xed/xed.mk b/third_party/xed/xed.mk index e2bc70333..0a45e57c8 100644 --- a/third_party/xed/xed.mk +++ b/third_party/xed/xed.mk @@ -24,7 +24,6 @@ THIRD_PARTY_XED_A_SRCS = \ $(THIRD_PARTY_XED_A_SRCS_C) THIRD_PARTY_XED_A_OBJS = \ - $(THIRD_PARTY_XED_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_XED_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(THIRD_PARTY_XED_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -33,9 +32,10 @@ THIRD_PARTY_XED_A_CHECKS = \ $(THIRD_PARTY_XED_A_HDRS:%=o/$(MODE)/%.ok) THIRD_PARTY_XED_A_DIRECTDEPS = \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ - LIBC_STUBS \ - LIBC_STR + LIBC_STR \ + LIBC_STUBS THIRD_PARTY_XED_A_DEPS := \ $(call uniq,$(foreach x,$(THIRD_PARTY_XED_A_DIRECTDEPS),$($(x)))) diff --git a/third_party/zlib/zlib.mk b/third_party/zlib/zlib.mk index 9d29c102d..c363f74de 100644 --- a/third_party/zlib/zlib.mk +++ b/third_party/zlib/zlib.mk @@ -17,7 +17,6 @@ THIRD_PARTY_ZLIB_A_SRCS = \ $(THIRD_PARTY_ZLIB_A_SRCS_C) THIRD_PARTY_ZLIB_A_OBJS = \ - $(THIRD_PARTY_ZLIB_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(THIRD_PARTY_ZLIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(THIRD_PARTY_ZLIB_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -26,8 +25,9 @@ THIRD_PARTY_ZLIB_A_CHECKS = \ $(THIRD_PARTY_ZLIB_A_HDRS_ALL:%=o/$(MODE)/%.ok) THIRD_PARTY_ZLIB_A_DIRECTDEPS = \ - LIBC_STUBS \ - LIBC_NEXGEN32E + LIBC_INTRIN \ + LIBC_NEXGEN32E \ + LIBC_STUBS THIRD_PARTY_ZLIB_A_DEPS := \ $(call uniq,$(foreach x,$(THIRD_PARTY_ZLIB_A_DIRECTDEPS),$($(x)))) diff --git a/tool/build/build.mk b/tool/build/build.mk index e82b7998d..243628320 100644 --- a/tool/build/build.mk +++ b/tool/build/build.mk @@ -11,7 +11,6 @@ TOOL_BUILD_BINS = $(TOOL_BUILD_COMS) $(TOOL_BUILD_COMS:%=%.dbg) TOOL_BUILD_CALCULATOR = o/$(MODE)/tool/build/calculator.com TOOL_BUILD_OBJS = \ - $(TOOL_BUILD_SRCS:%=o/$(MODE)/%.zip.o) \ $(TOOL_BUILD_SRCS:%.c=o/$(MODE)/%.o) TOOL_BUILD_COMS = \ @@ -51,13 +50,13 @@ TOOL_BUILD_DIRECTDEPS = \ LIBC_TINYMATH \ LIBC_UNICODE \ LIBC_X \ - TOOL_BUILD_LIB \ THIRD_PARTY_COMPILER_RT \ THIRD_PARTY_GDTOA \ THIRD_PARTY_GETOPT \ + THIRD_PARTY_STB \ THIRD_PARTY_XED \ THIRD_PARTY_ZLIB \ - THIRD_PARTY_STB + TOOL_BUILD_LIB TOOL_BUILD_DEPS := \ $(call uniq,$(foreach x,$(TOOL_BUILD_DIRECTDEPS),$($(x)))) diff --git a/tool/build/emubin/emubin.mk b/tool/build/emubin/emubin.mk index 1939429d2..6c134c6cd 100644 --- a/tool/build/emubin/emubin.mk +++ b/tool/build/emubin/emubin.mk @@ -20,15 +20,15 @@ TOOL_BUILD_EMUBIN_SRCS = $(filter %.c,$(TOOL_BUILD_EMUBIN_FILES)) TOOL_BUILD_EMUBIN_HDRS = $(filter %.h,$(TOOL_BUILD_EMUBIN_FILES)) TOOL_BUILD_EMUBIN_OBJS = \ - $(TOOL_BUILD_EMUBIN_SRCS:%=o/$(MODE)/%.zip.o) \ $(TOOL_BUILD_EMUBIN_SRCS:%.c=o/$(MODE)/%.o) TOOL_BUILD_EMUBIN_CHECKS = \ $(TOOL_BUILD_EMUBIN_HDRS:%=o/$(MODE)/%.ok) TOOL_BUILD_EMUBIN_DIRECTDEPS = \ - LIBC_STUBS \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ + LIBC_STUBS \ LIBC_TINYMATH TOOL_BUILD_EMUBIN_DEPS := \ diff --git a/tool/build/lib/buildlib.mk b/tool/build/lib/buildlib.mk index f327f54da..ed162c7a7 100644 --- a/tool/build/lib/buildlib.mk +++ b/tool/build/lib/buildlib.mk @@ -20,7 +20,6 @@ TOOL_BUILD_LIB_A_SRCS = \ $(TOOL_BUILD_LIB_A_SRCS_C) TOOL_BUILD_LIB_A_OBJS = \ - $(TOOL_BUILD_LIB_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(TOOL_BUILD_LIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(TOOL_BUILD_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) diff --git a/tool/build/package.c b/tool/build/package.c index 8a44438ca..36fc9352c 100644 --- a/tool/build/package.c +++ b/tool/build/package.c @@ -235,6 +235,8 @@ void GetOpts(struct Package *pkg, struct Packages *deps, int argc, case 'd': AddDependency(deps, optarg); break; + case 'h': + exit(0); default: fprintf(stderr, "%s: %s [%s %s] [%s %s] %s\n", "Usage", program_invocation_name, "-o", "OUTPACKAGE", "-d", "DEPPACKAGE", diff --git a/tool/calc/calc.mk b/tool/calc/calc.mk index a0c44fe75..192ba6548 100644 --- a/tool/calc/calc.mk +++ b/tool/calc/calc.mk @@ -11,7 +11,6 @@ TOOL_CALC_SRCS = $(filter %.c,$(TOOL_CALC_FILES)) TOOL_CALC_HDRS = $(filter %.h,$(TOOL_CALC_FILES)) TOOL_CALC_OBJS = \ - $(TOOL_CALC_SRCS:%=o/$(MODE)/%.zip.o) \ $(TOOL_CALC_SRCS:%.c=o/$(MODE)/%.o) TOOL_CALC_COMS = \ @@ -28,6 +27,7 @@ TOOL_CALC_DIRECTDEPS = \ LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ diff --git a/tool/decode/decode.mk b/tool/decode/decode.mk index 6de5ccdae..6ecf4d2e0 100644 --- a/tool/decode/decode.mk +++ b/tool/decode/decode.mk @@ -8,7 +8,6 @@ TOOL_DECODE_HDRS = $(filter %.h,$(TOOL_DECODE_FILES)) TOOL_DECODE_SRCS = $(filter %.c,$(TOOL_DECODE_FILES)) TOOL_DECODE_OBJS = \ - $(TOOL_DECODE_SRCS:%=o/$(MODE)/%.zip.o) \ $(TOOL_DECODE_SRCS:%.c=o/$(MODE)/%.o) TOOL_DECODE_COMS = \ @@ -25,6 +24,7 @@ TOOL_DECODE_DIRECTDEPS = \ LIBC_CALLS \ LIBC_ELF \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ @@ -41,8 +41,8 @@ TOOL_DECODE_DIRECTDEPS = \ LIBC_X \ THIRD_PARTY_GDTOA \ THIRD_PARTY_GETOPT \ - TOOL_DECODE_LIB \ - THIRD_PARTY_XED + THIRD_PARTY_XED \ + TOOL_DECODE_LIB TOOL_DECODE_DEPS := \ $(call uniq,$(foreach x,$(TOOL_DECODE_DIRECTDEPS),$($(x)))) diff --git a/tool/decode/lib/decodelib.mk b/tool/decode/lib/decodelib.mk index dfc8eb32f..972378c65 100644 --- a/tool/decode/lib/decodelib.mk +++ b/tool/decode/lib/decodelib.mk @@ -17,18 +17,18 @@ TOOL_DECODE_LIB_A_SRCS = \ $(TOOL_DECODE_LIB_A_SRCS_C) TOOL_DECODE_LIB_A_OBJS = \ - $(TOOL_DECODE_LIB_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(TOOL_DECODE_LIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(TOOL_DECODE_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) TOOL_DECODE_LIB_A_DIRECTDEPS = \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_MEM \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ - LIBC_STUBS \ - LIBC_STR \ LIBC_STDIO \ + LIBC_STR \ + LIBC_STUBS \ LIBC_SYSV \ LIBC_UNICODE diff --git a/tool/hash/hash.mk b/tool/hash/hash.mk index 0fffe792d..f502a36bd 100644 --- a/tool/hash/hash.mk +++ b/tool/hash/hash.mk @@ -6,7 +6,6 @@ PKGS += TOOL_HASH TOOL_HASH_SRCS := $(wildcard tool/hash/*.c) TOOL_HASH_OBJS = \ - $(TOOL_HASH_SRCS:%=o/$(MODE)/%.zip.o) \ $(TOOL_HASH_SRCS:%.c=o/$(MODE)/%.o) TOOL_HASH_COMS = \ @@ -18,11 +17,12 @@ TOOL_HASH_BINS = \ TOOL_HASH_DIRECTDEPS = \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_NEXGEN32E \ LIBC_RUNTIME \ + LIBC_STDIO \ LIBC_STR \ - LIBC_STUBS \ - LIBC_STDIO + LIBC_STUBS TOOL_HASH_DEPS := \ $(call uniq,$(foreach x,$(TOOL_HASH_DIRECTDEPS),$($(x)))) diff --git a/tool/net/net.mk b/tool/net/net.mk index 2947f0dc4..8d18ed90b 100644 --- a/tool/net/net.mk +++ b/tool/net/net.mk @@ -8,7 +8,6 @@ TOOL_NET_SRCS = $(filter %.c,$(TOOL_NET_FILES)) TOOL_NET_HDRS = $(filter %.h,$(TOOL_NET_FILES)) TOOL_NET_OBJS = \ - $(TOOL_NET_SRCS:%=o/$(MODE)/%.zip.o) \ $(TOOL_NET_SRCS:%.c=o/$(MODE)/%.o) TOOL_NET_COMS = \ @@ -19,12 +18,14 @@ TOOL_NET_BINS = \ $(TOOL_NET_COMS:%=%.dbg) TOOL_NET_DIRECTDEPS = \ + APE_LIB \ LIBC_ALG \ LIBC_BITS \ LIBC_CALLS \ LIBC_CALLS_HEFTY \ LIBC_DNS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_LOG_ASAN \ LIBC_MEM \ diff --git a/tool/viz/lib/vizlib.mk b/tool/viz/lib/vizlib.mk index 2b086d791..0c6a1cc7d 100644 --- a/tool/viz/lib/vizlib.mk +++ b/tool/viz/lib/vizlib.mk @@ -20,7 +20,6 @@ TOOL_VIZ_LIB_A_SRCS = \ $(TOOL_VIZ_LIB_A_SRCS_C) TOOL_VIZ_LIB_A_OBJS = \ - $(TOOL_VIZ_LIB_A_SRCS:%=o/$(MODE)/%.zip.o) \ $(TOOL_VIZ_LIB_A_SRCS_S:%.S=o/$(MODE)/%.o) \ $(TOOL_VIZ_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) @@ -46,8 +45,8 @@ TOOL_VIZ_LIB_A_DIRECTDEPS = \ LIBC_TINYMATH \ LIBC_UNICODE \ LIBC_X \ - THIRD_PARTY_GDTOA \ - THIRD_PARTY_DLMALLOC + THIRD_PARTY_DLMALLOC \ + THIRD_PARTY_GDTOA TOOL_VIZ_LIB_A_DEPS := \ $(call uniq,$(foreach x,$(TOOL_VIZ_LIB_A_DIRECTDEPS),$($(x)))) diff --git a/tool/viz/viz.mk b/tool/viz/viz.mk index 5498a3f0f..2a9d194aa 100644 --- a/tool/viz/viz.mk +++ b/tool/viz/viz.mk @@ -6,7 +6,6 @@ PKGS += TOOL_VIZ TOOL_VIZ_SRCS := $(wildcard tool/viz/*.c) TOOL_VIZ_OBJS = \ - $(TOOL_VIZ_SRCS:%=o/$(MODE)/%.zip.o) \ $(TOOL_VIZ_SRCS:%.c=o/$(MODE)/%.o) TOOL_VIZ_COMS = \ @@ -26,6 +25,7 @@ TOOL_VIZ_DIRECTDEPS = \ LIBC_CALLS_HEFTY \ LIBC_DNS \ LIBC_FMT \ + LIBC_INTRIN \ LIBC_LOG \ LIBC_MEM \ LIBC_NEXGEN32E \ @@ -52,9 +52,9 @@ TOOL_VIZ_DIRECTDEPS = \ THIRD_PARTY_GETOPT \ THIRD_PARTY_STB \ THIRD_PARTY_XED \ + THIRD_PARTY_ZLIB \ TOOL_DECODE_LIB \ - TOOL_VIZ_LIB \ - THIRD_PARTY_ZLIB + TOOL_VIZ_LIB TOOL_VIZ_DEPS := \ $(call uniq,$(foreach x,$(TOOL_VIZ_DIRECTDEPS),$($(x))))