alias b := build
alias s := stat
alias z := stat-size

target := "x86_64-unknown-linux-gnu"

build:
    RUSTFLAGS="\
        -Zunstable-options \
        \
        -Zlocation-detail=none -Zfmt-debug=none \
        \
        -Clinker=clang -Clink-arg=-fuse-ld=lld \
        -Clink-arg=-Wl,--gc-sections -Clink-arg=-Wl,--strip-all \
        \
        -Cpanic=immediate-abort --remap-path-prefix=$PWD=[src] \
    " cargo \
        \
        -Zbuild-std=core,alloc,std,panic_abort \
        -Zbuild-std-features="optimize_for_size" \
        \
        b -r --target {{ target }}

stat:
    stat target/{{ target }}/release/rust-teeny

stat-size:
    stat target/{{ target }}/release/rust-teeny -c "%s" | numfmt --to=iec-i
