# 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`: the smoke program and the `dist` # product entry point. Further entry points under src/ get added here as # they land. SMOKE := tests/smoke.sx DIST := src/dist.sx .PHONY: build test publish-example clean # Compile the product sources (and the smoke program) without running. build: @mkdir -p $(BUILD_DIR) $(SX) build -o $(BUILD_DIR)/smoke $(SMOKE) $(SX) build -o $(BUILD_DIR)/dist $(DIST) # Run the test runner over every tests/**/*.sx. Exits non-zero on any # failure. Depends on `build` so the CLI acceptance test (tests/cli_*.sx) # finds a fresh `build/dist` to drive. test: build @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)