# distribution — build/test gate.
#
# The sx compiler lives in a separate repo; locate it via SX (overridable):
#   make build SX=/path/to/sx
SX ?= /Users/agra/projects/sx/zig-out/bin/sx

BUILD_DIR := build

# Programs compiled by `make build`. Currently just the smoke program;
# product entry points under src/ get added here as they land (P1.2+).
SMOKE := tests/smoke.sx

.PHONY: build test publish-example clean

# Compile the smoke program (and, later, product sources) without running.
build:
	@mkdir -p $(BUILD_DIR)
	$(SX) build -o $(BUILD_DIR)/smoke $(SMOKE)

# Run the test runner over every tests/**/*.sx. Exits non-zero on any failure.
test:
	@SX="$(SX)" ./tests/run.sh

# Placeholder for the end-to-end publish flow — becomes real in P3.4.
publish-example:
	@echo "publish-example: not implemented yet (becomes real in P3.4)"

clean:
	@rm -rf $(BUILD_DIR)
