nandi/jolt-nativepublic Fork 0
fc16d8e4f1cf0b5245d833bf4521e99d73b72df4
Commits
Clone
git clone https://git.rickub.com/nandi/jolt-native.git
git clone ssh://git@rickub.com/nandi/jolt-native.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

justfile · 35 lines · 1.3 KBMakefile Blame HistoryRaw
Lift freeq's AV media plane out of sleek 90f8b89 nandi 19d ago1set shell := ["bash", "-euo", "pipefail", "-c"]
2
3# Everything is compiled by zig, including the C and C++ dependencies, so a
4# build needs no system toolchain — but bindgen runs libclang directly and does
5# not inherit zig's own header search path. `v4l2r` wants `linux/videodev2.h`,
6# which lives in /usr/include on a machine with kernel headers installed and
7# nowhere at all on one without. Point it at zig's bundled copies instead.
8zig_include := `scripts/zig-include`
9headers := "-I" + zig_include + " -I" + parent_directory(zig_include) + "/x86-linux-gnu -I" + parent_directory(zig_include) + "/generic-glibc"
10
11export V4L2R_VIDEODEV2_H_PATH := zig_include
12export BINDGEN_EXTRA_CLANG_ARGS := headers
13
14default:
15 @just --list
16
17# The shared objects, ready to be put on a loader search path.
18build *args:
19 cargo build --release {{args}}
20
21test *args:
22 cargo test --workspace {{args}}
23
24# Without PipeWire — for a machine that has neither pkg-config nor PipeWire's
25# headers. Device *names* get worse (ALSA PCMs only); everything else is equal.
26test-minimal:
27 cargo test --workspace --no-default-features
28
29lint:
30 cargo clippy --workspace --all-targets -- -D warnings
31 cargo fmt --all --check
32
33# Where a consumer points LD_LIBRARY_PATH.
34libdir:
35 @echo "{{justfile_directory()}}/target/release"