1
0
Files
switchroot/Makefile
2025-11-14 17:12:54 +08:00

39 lines
1.8 KiB
Makefile

#!/usr/bin/make -f
PREFIX ?= /usr/local
TMPDIR ?= $(CURDIR)/src
export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu/tegra
all:
download:
git clone https://gitlab.com/switchroot/switch-l4t-multimedia/FFmpeg.git --depth=1 $(TMPDIR)/ffmpeg
git clone https://gitlab.com/switchroot/switch-l4t-multimedia/mpv.git --depth=1 $(TMPDIR)/mpv
wget -qO- https://curl.se/download/curl-8.13.0.tar.xz | tar Jxf - -C $(TMPDIR)
curl:
cmake -B build/curl -S $(TMPDIR)/curl-8.13.0 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$(PREFIX) \
-DBUILD_SHARED_LIBS=OFF -DCURL_USE_OPENSSL=ON -DHTTP_ONLY=ON -DCURL_DISABLE_PROGRESS_METER=ON \
-DUSE_LIBIDN2=OFF -DUSE_NGHTTP2=OFF -DCURL_BROTLI=OFF -DCURL_ZSTD=OFF -DCURL_USE_LIBSSH2=OFF \
-DBUILD_CURL_EXE=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DCURL_USE_PKGCONFIG=ON \
-DBUILD_LIBCURL_DOCS=OFF -DBUILD_MISC_DOCS=OFF -DENABLE_CURL_MANUAL=OFF -DCURL_USE_LIBPSL=OFF
cmake --build build/curl -j$(shell nproc)
sudo cmake --install build/curl
ffmpeg:
cd $(TMPDIR)/ffmpeg && ./configure --prefix=$(PREFIX) --disable-shared --enable-static \
--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 -lnvbuf_utils -lv4l2' \
--ld=g++ --enable-neon --disable-debug --disable-doc --disable-avdevice --disable-programs \
--enable-nonfree --enable-openssl --enable-libv4l2 --enable-nvv4l2 --enable-libass --enable-opengl \
--disable-muxers --disable-encoders
make -C $(TMPDIR)/ffmpeg -j$(shell nproc)
sudo make -C $(TMPDIR)/ffmpeg install
mpv:
cd $(TMPDIR)/mpv && ./bootstrap.py && LIBDIR=/usr/lib/aarch64-linux-gnu/tegra \
./waf configure --prefix=$(PREFIX) --enable-libmpv-static --disable-debug-build \
--disable-libavdevice --disable-cplayer --disable-lua && \
./waf build && sudo ./waf install