X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fthirdparty%2FMakefile;h=06d641106e3c8a4e033e5d62d820e3e870288b3d;hp=27f13c655101b4c21261cf60ce66a2fd4cb8b0f8;hb=HEAD;hpb=acfa6cec95f5ddfbb21ca7c4af41de213bb80988 diff --git a/cinelerra-5.1/thirdparty/Makefile b/cinelerra-5.1/thirdparty/Makefile index 27f13c65..ba1ce051 100644 --- a/cinelerra-5.1/thirdparty/Makefile +++ b/cinelerra-5.1/thirdparty/Makefile @@ -47,7 +47,7 @@ pkg-built=$(BLD)/$(1).built ext=$(lastword $(subst ., ,$(1))) tarball=$(if $($(1).git),$(1).git,$(lastword $(sort $(wildcard src/$(1)*.tar.*)))) unpack=$(call unpack_$(call ext,$(1)),$(1)) -unpack_git=git clone $($(1)) $(1) +unpack_git=git clone --depth 1 $($(1)) $(1) unpack_gz=tar -xzf $(1) unpack_bz2=tar -xjf $(1) unpack_xz=tar -xJf $(1) @@ -112,6 +112,7 @@ $(BLD): # pkg-config names pc_libaom=aom +pc_libsvtav1=SvtAv1Enc pc_dav1d=dav1d pc_libwebp=libwebp libwebpmux pc_opus=opus @@ -129,8 +130,10 @@ esound.cfg_params= --enable-shared=no --with-pic esound.mak_vars+= CFLAGS="" esound.ldflags=" -lm -lstdc++" fftw.cfg_params= --disable-fortran --enable-shared=no +ffmpeg.cfg_vars?= PKG_CONFIG_PATH="$(call bld_path,libwebp)/usr/local/lib/pkgconfig" ffmpeg.cfg_params= \ - --enable-pthreads --enable-gpl --disable-ffplay \ + --enable-pthreads --disable-avdevice --enable-gpl --disable-ffplay \ + --disable-doc \ $(call if_want,VAAPI,--enable-vaapi,--disable-vaapi) \ $(call if_want,VDPAU,--enable-vdpau,--disable-vdpau) \ $(call if_want,NV, --enable-nvenc --enable-nvdec --enable-ffnvcodec) \ @@ -138,6 +141,7 @@ ffmpeg.cfg_params= \ $(call if_ena,openjpeg,--enable-libopenjpeg) \ $(call if_ena,lame,--enable-libmp3lame) \ $(call if_ena,libaom,--enable-libaom) \ + $(call if_ena,libsvtav1,--enable-libsvtav1) \ $(call if_ena,dav1d,--enable-libdav1d) \ $(call if_ena,libwebp,--enable-libwebp) \ $(call if_ena,opus,--enable-libopus) \ @@ -151,6 +155,7 @@ ffmpeg.cfg_params= \ $(call inc_path,twolame) \ $(call inc_path,lame) \ $(call inc_path,libaom) \ + $(call inc_path,libsvtav1) \ $(call inc_path,dav1d) \ $(call inc_path,libwebp) \ $(call inc_path,openjpeg) \ @@ -167,6 +172,7 @@ ffmpeg.cfg_params= \ $(call ld_path,twolame,libtwolame/.libs) \ $(call ld_path,lame,libmp3lame/.libs) \ $(call ld_path,libaom,usr/local/lib) \ + $(call ld_path,libsvtav1,usr/local/lib) \ $(call ld_path,dav1d,usr/local/lib) \ $(call ld_path,libwebp,usr/local/lib) \ $(call ld_path,openjpeg,bin) \ @@ -183,76 +189,95 @@ ffmpeg.cfg_params= \ #cmake_config=echo "exec cmake \$$$$@ $(1)" > ./configure; chmod +x ./configure; cmake_config=echo 'cmake "$$$$@" "$(1)"' > ./configure; chmod +x ./configure; +libbthread.cfg_vars?= echo "exec true" > ./configure; chmod +x ./configure; a52dec.mak_params?= ; cd $(call bld_path,a52dec,include); ln -sf . a52dec -a52dec.cfg_vars?= CFLAGS+=" -U__FreeBSD__ $(call inc_path,djbfft)" LIBS+=" $(call ld_path,djbfft)" -a52dec.cfg_params?=--enable-djbfft +a52dec.cflags?= "$(call inc_path,djbfft)" +a52dec.ldflags?= "$(call ld_path,djbfft)" +a52dec.cfg_vars?= CFLAGS+=" -U__FreeBSD__ $(call inc_path,djbfft)" LIBS+=" $(call ld_path,djbfft)"; autoreconf -ifv && automake -caf; +a52dec.cfg_params?=--enable-djbfft --disable-oss djbfft.cfg_vars?=echo "$(call bld_path,djbfft)" > conf-home; \ - (CFLAGS="$(CFLAGS)"; $(CFG_VARS)$(if $(CFG_VARS),; )echo "$(CC) $$$$CFLAGS") > conf-cc; \ - echo > ./configure; chmod +x ./configure; + (CFLAGS="$(CFLAGS) -std=gnu89"; $(CFG_VARS)$(if $(CFG_VARS),; )echo "$(CC) $$$$CFLAGS") > conf-cc; \ + echo "exec true" > ./configure; chmod +x ./configure; djbfft.mak_params?=; cd $(call bld_path,djbfft); ln -sf djbfft.a libdjbfft.a -audiofile.cfg_params?=--enable-shared=no +audiofile.cfg_params?=--enable-shared=no --disable-doxygen-docs --enable-debug=no --enable-examples=no audiofile.mak_params?=LIBS="-lm -lstdc++" -flac.cfg_params?= --enable-shared=no +flac.cfg_vars?= CFLAGS+=" -O3 -funroll-loops " CPPFLAGS+=" -DNDEBUG " CXXFLAGS+=" -O2 " +flac.cfg_params?= --enable-shared=no --disable-doxygen-docs flac.cflags?="$(call inc_path,libogg) $(call ld_path,libogg,src/.libs)" -giflib.cfg_params=echo "exec true" > ./configure; chmod +x ./configure; +ffnvcodec.cfg_vars=echo "exec true" > ./configure; chmod +x ./configure; +giflib.cfg_vars=echo "exec true" > ./configure; chmod +x ./configure; lame.cfg_vars?= CFLAGS+=" -O" lame.cfg_params?=--enable-shared=no lame.mak_params?= ; cd $(call bld_path,lame,include); ln -sf . lame libaom.cfg_vars?= mkdir aom.build && cd aom.build && $(call cmake_config,..) -libaom.cfg_params?= -DENABLE_SHARED=no -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_INSTALL_PREFIX=$(call bld_path,libaom)/usr/local +libaom.cfg_params?= -DENABLE_TESTS=no -DCMAKE_BUILD_TYPE=Release -DENABLE_DOCS=no -DENABLE_SHARED=no -DCMAKE_INSTALL_LIBDIR=lib \ + -DENABLE_EXAMPLES=no -DCMAKE_INSTALL_PREFIX=$(call bld_path,libaom)/usr/local libaom.mak_params?= ; $(MAKE) -C libaom*/aom.build install +libsvtav1.cfg_vars?= mkdir libsvtav1.build && cd libsvtav1.build && $(call cmake_config,..) +libsvtav1.cfg_params?= -DENABLE_TESTS=no -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=no -DENABLE_DOCS=no -DENABLE_SHARED=no -DCMAKE_INSTALL_LIBDIR=lib \ + -DENABLE_EXAMPLES=no -DCMAKE_INSTALL_PREFIX=$(call bld_path,libsvtav1)/usr/local +libsvtav1.mak_params?= ; $(MAKE) -C libsvtav1*/libsvtav1.build install dav1d.cfg_vars?=echo "echo dav1d custom make" >> configure; chmod +x ./configure; dav1d.mak_params?=; $(MAKE) -C dav1d* install DESTDIR="$(call bld_path,dav1d)" -libwebp.cfg_vars?= mkdir build && cd build && $(call cmake_config,..) -libwebp.mak_params?= -C build all install DESTDIR=$(call bld_path,libwebp) +libwebp.cfg_vars?= ./autogen.sh; +libwebp.cfg_params?= --prefix=$(call bld_path,libwebp)usr/local --enable-static --disable-shared --disable-libwebpdemux --disable-libwebpmux; \ + make install; mjpegtools.cflags?="$(call inc_path,libjpeg) $(call ld_path,libjpeg,build)" -mjpegtools.cfg_vars?= ./autogen.sh; +mjpegtools.cfg_vars?= ./autogen.sh; export CXXFLAGS+="-std=c++11"; mjpegtools.cfg_params?= --enable-shared=no --without-libquicktime --without-libdv \ --without-libpng --without-dga --without-gtk --without-libsdl --without-sdlgfx mjpegtools.mak_params?= all -ladspa.cfg_vars?= CFLAGS+=' -Dinline="" ' +ladspa.cfg_vars?= CFLAGS+=' -Dinline="" '; autoreconf -ifv && automake -caf; ladspa.mak_params?=; $(MAKE) -C ladspa* install DESTDIR=$(call bld_path,ladspa) -libavc1394.cfg_vars?=PKG_CONFIG_PATH=$(call bld_path,libraw1394) +libavc1394.cfg_vars?= PKG_CONFIG_PATH="$(call bld_path,libraw1394)";autoreconf -ifv -I m4 && automake -caf; libavc1394.cflags?="$(call inc_path,libraw1394)" libavc1394.ldflags?="$(call ld_path,libraw1394,src/.libs)" -libavc1394.cfg_params?= --enable-shared=no +libavc1394.cfg_params?= PKG_CONFIG_PATH="$(call bld_path,libraw1394)" --enable-shared=no libavc1394.mak_params?=; cd $(call bld_path,libavc1394); ln -sf ../librom1394/rom1394.h libavc1394/. +libdv.cfg_vars?= autoreconf -ifv -I m4 && automake -caf; libdv.cfg_params?= --disable-gtk --enable-shared=no -libiec61883.cfg_vars?=PKG_CONFIG_PATH=$(call bld_path,libraw1394) +libiec61883.cfg_vars?=PKG_CONFIG_PATH=$(call bld_path,libraw1394); autoreconf -ifv && automake -caf; libiec61883.cflags?="$(call inc_path,libraw1394)" libiec61883.ldflags?="$(call ld_path,libraw1394,src/.libs)" -libiec61883.cfg_params?= --enable-shared=no +libiec61883.cfg_params?= PKG_CONFIG_PATH="$(call bld_path,libraw1394)" --enable-shared=no libiec61883.mak_params?=; cd $(call bld_path,libiec61883,src); ln -sf . libiec61883 libjpeg.cfg_vars?= mkdir build && cd build && $(call cmake_config,..) libjpeg.cfg_params?= -DENABLE_SHARED=no -DCMAKE_INSTALL_LIBDIR=lib libjpeg.mak_params?= -C build all install DESTDIR=$(call bld_path,libjpeg) +libogg.cfg_vars?= autoreconf -ifv -I m4 && automake -caf; libogg.cfg_params?= --enable-shared=no libraw1394.cfg_params?= --enable-shared=no; ln -sf src libraw1394 -libtheora.cfg_vars?=PKG_CONFIG_PATH=$(call bld_path,libogg):$(call bld_path,libvorbis) +libtheora.cfg_vars?=PKG_CONFIG_PATH=$(call bld_path,libogg):$(call bld_path,libvorbis); autoreconf -ifv -I m4 && automake -caf; +libiec61883.cflags?="$(call inc_path,libraw1394)" libtheora.cflags?="$(call inc_path,libogg) $(call inc_path,libvorbis)" libtheora.ldflags?="$(call ld_path,libvorbis,lib/.libs) $(call ld_path,libogg,src/.libs)" libtheora.cfg_params?= --disable-examples --disable-spec --enable-shared=no +libuuid.cfg_vars?= autoreconf -ifv -I m4 && automake -caf; libuuid.cfg_params?=--enable-shared=no libvorbis.cfg_params?= --disable-oggtest --enable-shared=no -openjpeg.cfg_params?= -DBUILD_SHARED_LIBS:BOOL=OFF +openjpeg.cfg_params?= -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_CODEC:BOOL=OFF openjpeg.cfg_vars?=$(call cmake_config,.) openjpeg.mak_params?= ; cd $(call bld_path,openjpeg,src/lib/openjp2); ln -sf . openjpeg-2.1 opencv.cfg_vars?=$(call cmake_config,.) opencv.cfg_params?= -DBUILD_SHARED_LIBS:BOOL=OFF openexr.cfg_vars?=true; \# openexr.mak_vars?=true; \# +opus.cfg_params?= --disable-extra-programs speech_tools.mak_params?=-j1 -tiff.cfg_vars+=LIBS+=" -lpthread" -tiff.cfg_params+= --enable-shared=no --disable-zstd $(call if_pkg,libwebp,\ +tiff.ldflags?="$(call ld_path,libjpeg,build)" +tiff.cflags?="$(call lnc_path,libjpeg)" +tiff.cfg_vars+=LIBS+=" -lpthread"; autoreconf -ifv -I m4 && automake -caf; +tiff.cfg_params+= --disable-libdeflate --disable-lerc --enable-shared=no --disable-zstd $(call if_pkg,libwebp,\ --with-webp-include-dir=$(call pkg_incl,libwebp)\ --with-webp-lib-dir=$(call pkg_libs,libwebp))\ $(call if_npkg,libwebp,--disable-webp) twolame.cfg_params?=--enable-shared=no x264.cfg_params?= --enable-static --enable-pic x265.cfg_vars?=$(call cmake_config,source) -x265.cfg_params?= -DENABLE_SHARED=no -libvpx.cfg_params?= --enable-pic --disable-avx512 +x265.cfg_params?= -DENABLE_SHARED=no -DENABLE_CLI=no +libvpx.cfg_params?= --enable-pic --disable-avx512 --enable-vp9-highbitdepth --disable-examples --disable-unit_tests +libdpx.cfg_vars?= libtoolize; aclocal; autoconf; automake -a; +libsndfile.cfg_params+= --disable-shared --enable-static --disable-sqlite --disable-mpeg DS:=$$$$$$$$ pkg_cfg=$(call bld_path,$(1),usr/local/lib/pkgconfig): @@ -316,13 +341,17 @@ else rules=$(eval $(1)) endif +uname := $(shell uname -o) +ifeq ($(uname), Android) +$(call rules,$(call std-build,libbthread)) +endif $(call rules,$(call std-build,a52dec,djbfft)) $(call rules,$(call std-build,djbfft)) $(call rules,$(call std-build,audiofile)) $(call rules,$(call std-build,encore)) $(call rules,$(call std-build,esound,audiofile)) $(call rules,$(call std-build,ffmpeg, twolame lame openjpeg opus \ - libtheora x264 x265 libvpx libaom dav1d libwebp \ + libtheora x264 x265 libvpx libaom libsvtav1 dav1d libwebp \ $(call if_want,NV, ffnvcodec))) $(call rules,$(call std-build,fftw)) $(call rules,$(call std-build,flac,libogg)) @@ -331,6 +360,7 @@ $(call rules,$(call std-build,ilmBase, openexr)) $(call rules,$(call std-build,ladspa)) $(call rules,$(call std-build,lame)) $(call rules,$(call std-build,libaom)) +$(call rules,$(call std-build,libsvtav1)) $(call rules,$(call std-build,dav1d)) $(call rules,$(call std-build,libwebp)) $(call rules,$(call std-build,libavc1394,libraw1394)) @@ -350,7 +380,7 @@ $(call rules,$(call std-build,openExr, ilmBase)) $(call rules,$(call std-build,openjpeg)) $(call rules,$(call std-build,opus)) $(call rules,$(call std-build,speech_tools)) -$(call rules,$(call std-build,tiff, libwebp)) +$(call rules,$(call std-build,tiff, libwebp libjpeg)) $(call rules,$(call std-build,twolame)) $(call rules,$(call std-build,x264)) $(call rules,$(call std-build,x265)) @@ -362,6 +392,7 @@ $(call rules,$(call std-build,sratom, serd sord lv2)) $(call rules,$(call std-build,lilv, lv2 sratom serd sord)) $(call rules,$(call std-build,suil, lv2)) $(call rules,$(call std-build,ffnvcodec)) +$(call rules,$(call std-build,libdpx)) # specialize festival, multiple tarballs festival: @@ -392,6 +423,9 @@ clean: install: cp -a $(ver_mjpegtools)/mpeg2enc/mpeg2enc $(BINDIR)/. cp -a $(ver_mjpegtools)/mplex/mplex $(BINDIR)/. + +objrem: + find . -type f -name '*.o' -delete else # not WANT_CIN_3RDPARTY all: