#!/usr/bin/make -f PREFIX ?= /usr/local TMPDIR ?= /tmp export PKG_CONFIG_PATH=$(PREFIX)/lib/pkgconfig export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu/tegra all: dav1d: wget -qO- https://downloads.videolan.org/pub/videolan/dav1d/1.5.2/dav1d-1.5.2.tar.xz | tar Jxf - -C $(TMPDIR) meson setup build/dav1d $(TMPDIR)/dav1d-1.5.2 --prefix=$(PREFIX) \ --buildtype=release --default-library=static -Denable_tools=false \ -Denable_examples=false -Denable_tests=false -Denable_docs=false meson compile -C build/dav1d meson install -C build/dav1d harfbuzz: wget -qO- https://github.com/harfbuzz/harfbuzz/releases/download/12.1.0/harfbuzz-12.1.0.tar.xz | tar Jxf - -C $(TMPDIR) meson setup build/harfbuzz $(TMPDIR)/harfbuzz-12.1.0 --prefix=$(PREFIX) --libdir=lib \ --buildtype=release --default-library=static -Dtests=disabled -Ddocs=disabled -Dicu=disabled \ -Dcairo=disabled -Dgobject=disabled -Dbenchmark=disabled -Dutilities=disabled meson compile -C build/harfbuzz meson install -C build/harfbuzz fribidi: wget -qO- https://github.com/fribidi/fribidi/releases/download/v1.0.16/fribidi-1.0.16.tar.xz | tar Jxf - -C $(TMPDIR) meson setup build/fribidi $(TMPDIR)/fribidi-1.0.16 --prefix=$(PREFIX) --libdir=lib \ --buildtype=release --default-library=static -Dbin=false -Ddocs=false -Dtests=false meson compile -C build/fribidi meson install -C build/fribidi libass: harfbuzz fribidi wget -qO- https://github.com/libass/libass/releases/download/0.17.4/libass-0.17.4.tar.xz | tar Jxf - -C $(TMPDIR) meson setup build/libass $(TMPDIR)/libass-0.17.4 --prefix=$(PREFIX) --libdir=lib \ --buildtype=release --default-library=static meson compile -C build/libass meson install -C build/libass ffmpeg: wget -qO- https://github.com/theofficialgman/FFmpeg/archive/6.1.1-nvv4l2.tar.gz | tar zxf - -C $(TMPDIR) mkdir -p build/ffmpeg && cd build/ffmpeg && $(TMPDIR)/FFmpeg-6.1.1-nvv4l2/configure --prefix=$(PREFIX) \ --extra-cflags='-march=armv8-a+simd+crypto+crc -mtune=cortex-a57 -I/usr/src/jetson_multimedia_api/include' \ --extra-ldflags='-L/usr/lib/aarch64-linux-gnu/tegra' --extra-libs='-lpthread -lm -lv4l2' \ --disable-shared --enable-static --ld=g++ --enable-neon --disable-debug --disable-doc --disable-avdevice \ --enable-nonfree --enable-openssl --enable-libv4l2 --enable-nvv4l2 --enable-libass --enable-libdav1d \ --disable-muxers --disable-encoders --disable-programs --enable-zlib make -C build/ffmpeg -j$(shell nproc) make -C build/ffmpeg install mpv: wget -qO- https://github.com/mpv-player/mpv/archive/v0.36.0.tar.gz | tar zxf - -C $(TMPDIR) meson setup build/mpv $(TMPDIR)/mpv-0.36.0 --prefix=$(PREFIX) --libdir=lib \ --buildtype=release --default-library=shared -Dlibmpv=true -Dcplayer=false -Dtests=false \ -Dlibarchive=disabled -Dlua=disabled -Dvulkan=disabled -Dwayland=disabled meson compile -C build/mpv meson install -C build/mpv