build-release:
	RUSTFLAGS='-Z location-detail=none' cargo +nightly build --release -Zbuild-std=core,std,panic_abort -Zbuild-std-features=panic_immediate_abort

# note: requires rustup target add --toolchain nightly x86_64-unknown-linux-musl
build-release-static:
	RUSTFLAGS='-Z location-detail=none' cargo +nightly build --release -Zbuild-std=core,std,panic_abort -Zbuild-std-features=panic_immediate_abort --target x86_64-unknown-linux-musl

# reduced code size at any cost!
build-release-unreasonable:
	RUSTFLAGS='-C passes=mergereturn,lower-atomic,lower-invoke,sccp -C no-vectorize-slp -C no-redzone -C llvm-args=-enable-machine-outliner -Z location-detail=none -C code-model=small -C relocation-model=ropi' cargo +nightly build --release -Zbuild-std=core,std,panic_abort -Zbuild-std-features=panic_immediate_abort --target x86_64-unknown-linux-gnu
