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=0c595eee31c99e5ef0ce29743ffb3f910507d272;hb=HEAD;hpb=f377b3322b0c0cdf4b39abadac9ff528fa6ff70c diff --git a/cinelerra-5.1/thirdparty/Makefile b/cinelerra-5.1/thirdparty/Makefile index 0c595eee..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,74 +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?=$(call cmake_config,aom-master) -libaom.cfg_params?= -DENABLE_SHARED=no -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_INSTALL_PREFIX=$(call bld_path,libaom)/usr/local -libaom.mak_params?= ; $(MAKE) -C libaom* install +libaom.cfg_vars?= mkdir aom.build && cd aom.build && $(call cmake_config,..) +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_params?= --enable-shared=no --without-libsdl --without-sdlgfx --without-v4l +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)) + --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 +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): @@ -261,15 +288,15 @@ define waf-setup $(1).cfg_vars+=./waf --version; find .waf* -type f -name "*.py" | \ while read f; do sed -e '/StopIter/d' -i "$(DS)f"; done; \ echo 'exec ./waf configure "$(DS)@"' > ./configure; chmod +x \ - ./configure; PKG_CONFIG_PATH=$(LV2_PKGCFG) LD_LIBRARY_PATH=$(LV2_LIBPATH) + ./configure; PKG_CONFIG_PATH=$(LV2_PKGCFG):$(PKG_CONFIG_PATH) LD_LIBRARY_PATH=$(LV2_LIBPATH) $(1).cfg_params+=\ CFLAGS="-I$(call bld_path,lv2) $(foreach f,$(2), $(call inc_path,$(f))) -fPIC -std=c99"\ - LDFLAGS="-lm $(foreach f,$(2), $(call ld_path,$(f),usr/local/lib)) " + LDFLAGS="-lm `pkg-config --libs x11` $(foreach f,$(2), $(call ld_path,$(f),usr/local/lib)) " $(1).mak_vars=(echo "all:"; echo " ./waf -v build") > $(call bld_path,$(1),Makefile); $(1).mak_params+=; ( cd $(1)*; ./waf install --destdir=$(call bld_path,$(1)) ) endef -SYS_LIB:=$(notdir $(lastword $(wildcard /usr/lib /usrlib32 /usr/lib64))) +SYS_LIB:=$(notdir $(lastword $(wildcard /usr/lib /usr/lib32 /usr/lib64))) SYS_LV2:=$(lastword $(wildcard /usr/$(SYS_LIB)/lv2 /usr/local/$(SYS_LIB)/lv2)) $(if $(SYS_LV2),,$(eval SYS_LV2:=/usr/$(SYS_LIB)/lv2)) lv2.cfg_params?= --lv2dir=$(SYS_LV2) @@ -281,7 +308,7 @@ sratom.cfg_params?= --static --no-shared serd.cfg_params?= --static --no-shared sord.cfg_params?= --static --no-shared lilv.cfg_params?= --static --dyn-manifest -suil.cfg_params?= --static --no-qt +suil.cfg_params?= --static --no-qt --no-qt5 $(eval $(call waf-setup,lv2)) $(eval $(call waf-setup,serd)) @@ -314,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)) @@ -329,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)) @@ -348,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)) @@ -360,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: @@ -390,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: