lofivor/justfile

60 lines
1.3 KiB
Makefile

set windows-shell := ["powershell.exe", "-NoLogo", "-Command"]
set shell := ["bash", "-c"]
default:
@just build
@just test
build:
zig build
run: build
zig build run
# build with release optimizations
release:
zig build -Doptimize=ReleaseSafe
release-fast:
zig build -Doptimize=ReleaseFast
release-small:
zig build -Doptimize=ReleaseSmall
# windows cross-compile
windows:
zig build -Dtarget=x86_64-windows-gnu -Doptimize=ReleaseSafe
windows-fast:
zig build -Dtarget=x86_64-windows-gnu -Doptimize=ReleaseFast
windows-small:
zig build -Dtarget=x86_64-windows-gnu -Doptimize=ReleaseSmall
# clean build artifacts
clean:
rm -rf zig-out .zig-cache
# check for compile errors without building
check:
zig build --summary all 2>&1 | head -50
test:
zig build test
# auto-benchmark (ramps entities until performance degrades, works on linux/windows)
bench:
zig build -Doptimize=ReleaseFast run -- --bench
cat benchmark.log
# software-rendered benchmark (for CI/headless servers)
[linux]
bench-sw:
zig build -Doptimize=ReleaseFast
xvfb-run -a ./zig-out/bin/sandbox --bench
cat benchmark.log
[windows]
bench-sw:
@echo "bench-sw: windows doesn't have xvfb equivalent"
@echo "use 'just bench' if you have a GPU, or run in WSL/linux CI"