PROG    := charon
CC      ?= cc
CFLAGS  ?= -O2 -Wall -Wextra -Wno-unused-parameter

all: $(PROG)

$(PROG): charon.c
	$(CC) $(CFLAGS) -o $@ $<

# 38KB static binary — preferred for distribution.
# Needs musl-tools on Debian/Ubuntu: sudo apt-get install musl-tools
static: charon.c
	musl-gcc -static -Os -s -o $(PROG) $<

# glibc-static fallback (~700KB) if musl-tools unavailable
static-glibc: charon.c
	$(CC) -static -Os -s -o $(PROG) $<

clean:
	rm -f $(PROG)

.PHONY: all static static-glibc clean
