run_args = "-vv repl" watch_args = "-c" OFTLISP_HOME = "~/oftlisp" all: check doc test build all-release: check doc test build build-release install: cargo install --path oftb install-force: cargo install --force --path oftb publish: cargo publish cd oftlisp-anf && cargo publish cd oftb && cargo publish watch: cargo watch {{watch_args}} -w {{OFTLISP_HOME}}/src -s "just run_args=\"{{run_args}}\" all" watch-check: cargo watch {{watch_args}} -w {{OFTLISP_HOME}}/src -x "check --all" watch-cross: cargo watch {{watch_args}} -w {{OFTLISP_HOME}}/src -s "just run_args=\"{{run_args}}\" cross-all all" watch-cross-release: cargo watch {{watch_args}} -w {{OFTLISP_HOME}}/src -s "just run_args=\"{{run_args}}\" cross-all-release all-release" watch-install: cargo watch {{watch_args}} -w {{OFTLISP_HOME}}/src -s "just install-force" watch-release: cargo watch {{watch_args}} -w {{OFTLISP_HOME}}/src -s "just run_args=\"{{run_args}}\" all-release" watch-run: cargo watch {{watch_args}} -w {{OFTLISP_HOME}}/src -s "just run_args=\"{{run_args}}\" run" watch-test: cargo watch {{watch_args}} -w {{OFTLISP_HOME}}/src -x "test --all" build: cargo build --all build-release: cargo build --all --release check: cargo check --all clean: cargo clean cross TARGET: cd oftb && cargo build --all --no-default-features --target {{TARGET}} cross-release TARGET: cd oftb && cargo build --all --no-default-features --release --target {{TARGET}} cross-all: just cross aarch64-linux-android just cross arm-linux-androideabi just cross asmjs-unknown-emscripten # just cross wasm32-unknown-emscripten just cross x86_64-pc-windows-gnu just cross x86_64-unknown-linux-gnu just cross x86_64-unknown-linux-musl cross-all-release: just cross-release aarch64-linux-android just cross-release arm-linux-androideabi just cross-release asmjs-unknown-emscripten # just cross-release wasm32-unknown-emscripten just cross-release x86_64-pc-windows-gnu just cross-release x86_64-unknown-linux-gnu just cross-release x86_64-unknown-linux-musl doc: cargo doc --all doc-open: doc cargo doc --open test: cargo test --all run: cargo run --manifest-path oftb/Cargo.toml -- {{run_args}} run-release: cargo run --manifest-path oftb/Cargo.toml --release -- {{run_args}} gdb: build rust-gdb --args target/debug/oftb {{run_args}} lldb: build rust-lldb -f target/debug/oftb -- {{run_args}} nemiver: build nemiver --gdb-binary=rust-gdb target/debug/oftb {{run_args}} r2: build r2 -e dbg.bep=main target/debug/oftb # {{run_args}} compare-sizes: cross-all cross-all-release find target/*/{debug,release}/oftb* -not -name '*.d' | xargs exa -lrs size