kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

commit ed38bc5b19bb021847602b73dd62d26f79772cf9
parent c64b344d2f72743c6432bfbec901f47d214f99ba
Author: Ryan Sepassi <rsepassi@gmail.com>
Date:   Mon, 25 May 2026 16:09:42 -0700

Tighten release binary size

Diffstat:
MMakefile | 13+++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,16 +1,22 @@ CC = clang AR = ar LD = ld +STRIP = strip BUILD_DIR ?= build SYSROOT = $(shell xcrun --show-sdk-path) RELEASE ?= 0 +HOST_UNAME := $(shell uname -s) .DEFAULT_GOAL := all ifeq ($(RELEASE),1) HOST_OPTFLAGS ?= -O2 HOST_MODE_CPPFLAGS = -DNDEBUG -HOST_MODE_CFLAGS = -HOST_MODE_LDFLAGS = +HOST_MODE_CFLAGS = -ffunction-sections -fdata-sections +ifeq ($(HOST_UNAME),Darwin) +HOST_MODE_LDFLAGS = -Wl,-dead_strip +else +HOST_MODE_LDFLAGS = -Wl,--gc-sections +endif else HOST_OPTFLAGS ?= -O0 HOST_MODE_CPPFLAGS = @@ -240,6 +246,9 @@ $(LIB_AR): $(LIB_RELOC_OBJ) $(BIN): $(DRIVER_OBJS) $(LIB_AR) $(BUILD_CONFIG) $(CC) $(HOST_LDFLAGS) -o $@ $(DRIVER_OBJS) $(LIB_AR) +ifeq ($(RELEASE),1) + $(STRIP) $@ +endif $(BUILD_DIR)/lib/%.o: src/%.c Makefile $(BUILD_CONFIG) @mkdir -p $(dir $@)