60 lines
1.3 KiB
Makefile
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"
|