upgrade to ffmpeg-4.0, findobj upgrades, rework plugin visibility
[goodguy/history.git] / cinelerra-5.1 / thirdparty / Makefile
index a35ab37800b9640f1d9a0b9d28006e4271c70e4a..6e84efaa0b263290ec7179bf693a2984952e218b 100644 (file)
@@ -42,15 +42,17 @@ pkg-config=$(BLD)/$(1).configure
 pkg-built=$(BLD)/$(1).built
 
 ext=$(lastword $(subst ., ,$(1)))
-tarball=$(lastword $(sort $(wildcard src/$(1)*.tar.*)))
+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_gz=tar -xzf $(1)
 unpack_bz2=tar -xjf $(1)
 unpack_xz=tar -xJf $(1)
 bld_depends=$(if $(ver_$(1)),$(call pkg-built,$(1)))
 bld_path=$(ver_$(1))/$(2)
-inc_path=$(inc_$(1))
-ld_path=$(if $(ver_$(1)),-L$(call bld_path,$(1),$(2)))
+if_pkg=$(if $(ver_$(1)),$(2))
+inc_path=$(call if_pkg,$(1),$(inc_$(1)))
+ld_path=$(call if_pkg,$(1),-L$(call bld_path,$(1),$(2)) $(lib_$(1)))
 
 #$(eval $(call std-build,pkg,deps...))
 #$(pkg.cflags) added as CFLAGS+=$(cflags) to pkg.vars
@@ -71,7 +73,7 @@ $(1)-clean:
 
 $(call pkg-source,$(1)):
        $(call unpack,$(call tarball,$(1))) \
-       $(foreach pch,$(sort $(wildcard src/$(1).patch*)),
+       $(foreach pch,$(sort $(wildcard src/$(notdir $(ver_$(1))).patch*)),
                patch -d $(1)* -p1 < $(pch))
        touch $$@
 
@@ -103,32 +105,29 @@ esound.cfg_vars+= AUDIOFILE_LIBS="$(call ld_path,audiofile,libaudiofile/.libs)"
 esound.cfg_params= --enable-shared=no --with-pic
 esound.mak_vars+= CFLAGS="" 
 esound.ldflags=" -lm -lstdc++"
-faac.cfg_params= --enable-shared=no --without-mp4v2
-faad2.cfg_params= --enable-shared=no
 #fdk.cfg_vars= ./autogen.sh ; CFLAGS+=" -Wno-narrowing" CXXFLAGS+=" -Wno-narrowing"
 fdk.cfg_params= --enable-shared=no
 fdk.mak_params= ; for f in $(call bld_path,fdk,/lib*/include); do ln -s . $$$$f/fdk-aac; done
 fftw.cfg_params= --disable-fortran --enable-shared=no
 ffmpeg.cfg_params= \
        --enable-pthreads --enable-gpl \
-       --disable-ffserver --disable-ffplay \
-       --disable-vaapi \
-       --enable-libfdk-aac \
-       --enable-libtwolame \
-       --enable-libopenjpeg \
-       --enable-libmp3lame \
-       --enable-libvorbis \
-       --enable-libtheora \
-       --enable-libvpx \
-       --enable-libx264 \
-       --enable-libx265 \
+       --disable-ffplay --disable-vaapi \
+       $(call if_pkg,fdk,--enable-libfdk-aac) \
+       $(call if_pkg,twolame,--enable-libtwolame) \
+       $(call if_pkg,openjpeg,--enable-libopenjpeg) \
+       $(call if_pkg,lame,--enable-libmp3lame) \
+       $(call if_pkg,libvorbis,--enable-libvorbis) \
+       $(call if_pkg,libtheora,--enable-libtheora) \
+       $(call if_pkg,libvpx,--enable-libvpx) \
+       $(call if_pkg,x264,--enable-libx264) \
+       $(call if_pkg,x265,--enable-libx265) \
        --enable-nonfree \
        --extra-cflags="\
-               $(call inc_path,faad2,include) \
-               $(call inc_path,faac,include) \
                $(call inc_path,twolame,libtwolame) \
                $(call inc_path,lame,include) \
                $(call inc_path,openjpeg,src/lib/openjp2) \
+               $(call inc_path,libogg,include) \
+               $(call inc_path,opus,include) \
                $(call inc_path,libvorbis,include) \
                $(call inc_path,libtheora,include) \
                $(call inc_path,libvpx) \
@@ -140,18 +139,20 @@ ffmpeg.cfg_params= \
                $(call inc_path,fdk,libSYS) \
                $(call inc_path,fdk,libSYS/include)" \
        --extra-cxxflags="-D__STDC_CONSTANT_MACROS" \
-       --extra-libs="\
-               $(call ld_path,faad2,libfaad/.libs) \
-               $(call ld_path,faac,libfaac/.libs) \
+       --pkg-config=true \
+       --extra-libs="-Wl,--start-group \
                $(call ld_path,twolame,libtwolame/.libs) \
                $(call ld_path,lame,libmp3lame/.libs) \
                $(call ld_path,openjpeg,bin) \
+               $(call ld_path,opus,.libs) \
+               $(call ld_path,libogg,lib/.libs) \
                $(call ld_path,libvorbis,lib/.libs) \
                $(call ld_path,libtheora,lib/.libs) \
                $(call ld_path,libvpx) \
                $(call ld_path,x264) \
                $(call ld_path,x265) \
                $(call ld_path,fdk,.libs) \
+               -Wl,--end-group -lm -lstdc++ -pthread \
                $(EXTRA_LIBS)" $(FFMPEG_EXTRA_CFG) \
 
 cmake_config=echo "exec cmake \$$$$@ $(1)" > ./configure; chmod +x ./configure;
@@ -175,7 +176,8 @@ lame.cfg_params?=--enable-shared=no
 lame.mak_params?= ; cd $(call bld_path,lame,include); ln -sf . lame
 mjpegtools.cflags?="$(call inc_path,libjpeg) $(call ld_path,libjpeg,.libs)"
 mjpegtools.mak_params?=; ln -s . $(call bld_path,mjpegtools,utils)/mjpegtools 
-mjpegtools.cfg_params?= --enable-shared=no
+mjpegtools.cfg_params?= --enable-shared=no --without-libsdl
+ladspa.cfg_vars?= CFLAGS+=' -Dinline="" '
 ladspa.mak_params?=; $(MAKE) -C ladspa* install DESTDIR=$(call bld_path,ladspa)
 libavc1394.cfg_vars?=PKG_CONFIG_PATH=$(call bld_path,libraw1394)
 libavc1394.cflags?="$(call inc_path,libraw1394)"
@@ -198,7 +200,6 @@ libtheora.cfg_params?= --disable-examples --disable-spec --enable-shared=no
 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
 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,.)
@@ -237,10 +238,8 @@ $(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,faac))
-$(call rules,$(call std-build,faad2))
 $(call rules,$(call std-build,fdk))
-$(call rules,$(call std-build,ffmpeg, faad2 faac fdk twolame lame openjpeg libtheora x264 x265 libvpx))
+$(call rules,$(call std-build,ffmpeg, fdk twolame lame openjpeg opus libtheora x264 x265 libvpx))
 $(call rules,$(call std-build,fftw))
 $(call rules,$(call std-build,flac,libogg))
 $(call rules,$(call std-build,giflib))
@@ -261,6 +260,7 @@ $(call rules,$(call std-build,mjpegtools, libjpeg))
 $(call rules,$(call std-build,opencv))
 $(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))
 $(call rules,$(call std-build,twolame))