+++ /dev/null
-
-all:
- $(MAKE) -f build/Makefile.cinelerra
-
-install:
- $(MAKE) -f build/Makefile.cinelerra install
-
-clean:
- $(MAKE) -f build/Makefile.cinelerra clean
- ./configure reset
-
-rebuild:
- $(MAKE) -C guicast clean
- $(MAKE) -C cinelerra clean
- $(MAKE) -C plugins clean
- $(MAKE) -C guicast
- $(MAKE) -C cinelerra
- $(MAKE) -C plugins
-
-rebuild_all:
- $(MAKE) -C libzmpeg3 clean
- $(MAKE) -C libzmpeg3
- $(MAKE) -C db clean
- $(MAKE) -C db
- $(MAKE) rebuild
- $(MAKE) -C db/utils
-
-rebuild_install:
- $(MAKE) -C cinelerra install
- $(MAKE) -C plugins install
--- /dev/null
+TOPDIR ?= $(CURDIR)
+-include global_config
+
+AM_MAKEFLAGS := -j$(WANT_JOBS)
+
+AUTOMAKE_OPTIONS=foreign
+ACLOCAL_AMFLAGS = -I m4
+
+SUBDIRS = thirdparty libzmpeg3 mpeg2enc mplexlo \
+ db guicast cinelerra plugins doc po
+
+BUILT_SOURCES := bin
+bin:
+ mkdir -p $@
+
+clean-generic:
+ rm -rf bin
+
+install: install-recursive
+ cp COPYING README $(BINDIR)/.
+ cp -a models $(BINDIR)/.
+ cp -a ffmpeg $(BINDIR)/.
+ cp -a msg.txt $(BINDIR)/.
+
+rebuild:
+ $(MAKE) -C guicast clean
+ $(MAKE) -C cinelerra clean
+ $(MAKE) -C plugins clean
+ $(MAKE) -C guicast
+ $(MAKE) -C cinelerra
+ $(MAKE) -C plugins
+
+rebuild_all:
+ $(MAKE) -C libzmpeg3 clean
+ $(MAKE) -C libzmpeg3
+ $(MAKE) -C db clean
+ $(MAKE) -C db
+ $(MAKE) rebuild
+ $(MAKE) -C db/utils
+
+rebuild_install:
+ $(MAKE) -C cinelerra install
+ $(MAKE) -C plugins install
+
+val-%:
+ @echo $($(subst val-,,$@))
+
-Run ./cinelerra from this directory. That's it.
-
-
-
-
-
+== for configuration help:
+./autogen.sh
+./configure --help
+
+== for static BUILD for $HOME/cin install:
+./autogen.sh
+./configure
+make >& log
+make install
+cp -a bin $HOME/cin
+
+== for shared BUILD for $HOME/cin install:
+./autogen.sh
+./configure --disable-static
+./configure
+make >& log
+make install
+cp -a bin $HOME/cin
+
+== to RUN from $HOME/cin install:
+cd
+./cin/cinelerra
+
+== Build notes:
+Shared builds are not recommended, since system versions of thirdparty
+libraries are not always known to be free of problems. The build
+will use known (perhaps patched) libraries if built statically.
+
+The amount of time needed for the build is decreased by adding more
+build jobs via --with-jobs=#, the default is 1.5*mach cpus + 2 jobs.
+eg. --with-jobs=12
+
+There are several packages which are "forced" either because they
+vary widely between systems, or are buggy and have patches in the build.
+
+Using disable-pkg means that the static build is not used, and a system
+library will be used to replace it.
+eg. --disable-giflib
+
+Using without-feature means that the feature is omitted from cinelerra.
+eg. --without-firewire
--- /dev/null
+#!/bin/bash -x
+
+rm -f aclocal.m4 compile install-sh ltmain.sh missing
+rm -f config.log config.guess config.h config.h.in config.sub
+rm -f global_config configure Makefile Makefile.in depcomp
+rm -rf autom4te.cache m4
+mkdir m4
+
+autoreconf --install
+
cd "$path/$dir/$bld"
rm -rf "$proj"
-git clone "git://git.cinelerra-cv.org/goodguy/cinelerra.git" "$proj"
+git clone --depth 1 "git://git.cinelerra-cv.org/goodguy/cinelerra.git" "$proj"
#rsh host tar -C /mnt0 -cf - cinelerra5 | tar -xf -
if [ $? -ne 0 ]; then
echo "git clone $proj failed"
fi
cd "$proj/$base"
-#case "$dir" in
-# "ubuntu" | "mint" | "ub14" | "ub15")
-# echo "CFLAGS += -DPNG_SKIP_SETJMP_CHECK=1" >> global_config ;;
-# "centos")
-# echo "CFLAGS += -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS" >> global_config
-## echo "EXTRA_LIBS += -lnuma" >> global_config ;;
-# "suse" | "leap")
-# echo "EXTRA_LIBS += -lnuma" >> global_config ;;
-# "fedora")
-# echo "EXTRA_LIBS += -lnuma" >> global_config ;;
-#esac
-./configure shared >& log
-make >> log 2>&1 $@
-make install >> log 2>&1
+./autogen.sh
+./configure --enable-static=no
+make all install >& log
echo "finished: scanning log for ***"
grep -ai "\*\*\*.*error" log
libpng-devel bzip2-devel zlib-devel kernel-headers libtiff-devel \
libavc1394 festival-devel libiec61883-devel flac-devel inkscape \
libsndfile-devel libtheora-devel linux-firmware ivtv-firmware \
- libvorbis-devel texinfo xz-devel lzma-devel cmake udftools git
+ libvorbis-devel texinfo xz-devel lzma-devel cmake udftools git \
+ autoconf automake
yasm=yasm-1.2.0-7.fc21.x86_64.rpm
release=http://archives.fedoraproject.org/pub/fedora/linux/releases/21
url=$release/Everything/x86_64/os/Packages/y/$yasm
libpng-devel bzip2-devel zlib-devel kernel-headers libavc1394 \
festival-devel libdc1394-devel libiec61883-devel esound-devel \
flac-devel libsndfile-devel libtheora-devel linux-firmware \
- ivtv-firmware libvorbis-devel texinfo xz-devel lzma-devel cmake
+ ivtv-firmware libvorbis-devel texinfo xz-devel lzma-devel cmake git \
+ autoconf automake
;;
"suse" | "leap")
zypper -n install nasm gcc gcc-c++ zlib-devel texinfo libpng16-devel \
openexr-devel libavc1394-devel festival-devel libjpeg8-devel libdv-devel \
libdvdnav-devel libdvdread-devel libiec61883-devel libuuid-devel \
ilmbase-devel fftw3-devel libsndfile-devel libtheora-devel flac-devel \
- libtiff-devel inkscape cmake patch libnuma-devel lzma-devel udftools git
+ libtiff-devel inkscape cmake patch libnuma-devel lzma-devel udftools git \
+ autoconf automake
if [ ! -f /usr/lib64/libtermcap.so ]; then
ln -s libtermcap.so.2 /usr/lib64/libtermcap.so
fi
libtiff5-dev exuberant-ctags ttf-bitstream-vera xfonts-75dpi xfonts-100dpi \
fonts-dejavu libopenexr-dev libavc1394-dev festival-dev fftw3-dev gdb \
libdc1394-22-dev libiec61883-dev libesd0-dev libflac-dev inkscape \
- libsndfile1-dev libtheora-dev cmake udftools libxml2-utils git
+ libsndfile1-dev libtheora-dev cmake udftools libxml2-utils git \
+ autoconf automake
;;
*)
echo "unknown os: $dir"
cd "$path/$dir/$bld"
rm -rf "$proj"
-git clone "git://git.cinelerra-cv.org/goodguy/cinelerra.git" "$proj"
+git clone --depth 1 "git://git.cinelerra-cv.org/goodguy/cinelerra.git" "$proj"
#rsh host tar -C /mnt0 -cf - cinelerra5 | tar -xf -
if [ $? -ne 0 ]; then
echo "git clone $proj failed"
fi
cd "$proj/$base"
-#case "$dir" in
-# "ubuntu" | "mint" | "ub14" | "ub15")
-# echo "CFLAGS += -DPNG_SKIP_SETJMP_CHECK=1" >> global_config ;;
-# "centos")
-# echo "CFLAGS += -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS" >> global_config
-# echo "EXTRA_LIBS += -lnuma" >> global_config ;;
-# "suse" | "leap")
-# echo "EXTRA_LIBS += -lnuma" >> global_config ;;
-# "fedora")
-# echo "EXTRA_LIBS += -lnuma" >> global_config ;;
-#esac
-./configure static >& log
-make >> log 2>&1 $@
-make install >> log 2>&1
+./autogen.sh
+./configure --enable-static=yes
+make all install >& log
echo "finished: scanning log for ***"
grep -ai "\*\*\*.*error" log
+++ /dev/null
-
-include global_config
-
-.NOTPARALLEL:
-
-ifeq (,$(filter -j,$(MAKEFLAGS)))
-cpus:=$(shell grep -c "^proc" /proc/cpuinfo)
-jobs:=-j$(shell echo $$(($(cpus) + $(cpus)/2 +2)))
-endif
-
-DIRS := \
- thirdparty \
- libzmpeg3 \
- mpeg2enc \
- mplexlo \
- db \
- guicast \
- cinelerra \
- plugins \
- doc \
- po
-
-all: $(OBJDIR)/soundtest
- mkdir -p bin $(PLUGIN_DIR)
- @ for i in $(DIRS) ; do \
- $(MAKE) $(jobs) -C $$i ; \
- done
-
-$(OBJDIR)/soundtest: $(OBJDIR)/soundtest.o
- $(CC) -o $(OBJDIR)/soundtest $(OBJDIR)/soundtest.o -lm
-
-clean:
- rm -rf bin
- @ for i in $(DIRS) ; do \
- $(MAKE) -C $$i clean ; \
- done
-
-dist-clean:
- find \( -name '*.lo' \
- -o -name '*.o' \
- -o -name '*.la' \
- -o -name '*.a' \
- -o -name '*.plugin' \
- -o -name '*.so' \) -exec rm -f {} \; -prune
- find \( -name $(OBJDIR) \) -exec rm -rf {} \; -prune
-# find \( -name .deps \) -exec rm -rf {} \; -prune
- find \( -name .libs \) -exec rm -rf {} \; -prune
-
-MJPEGDIR := $(shell expr $(THIRDPARTY)/mjpegtools* )
-MPEG2ENC := bin/mpeg2enc
-MPEG2PLEX := bin/mplex
-HVEG2ENC := bin/hveg2enc
-
-$(MPEG2ENC):
- cp -a $(MJPEGDIR)/mpeg2enc/mpeg2enc $@
-
-$(MPEG2PLEX):
- cp -a $(MJPEGDIR)/mplex/mplex $@
-
-$(HVEG2ENC):
- cp -a $(TOPDIR)/mpeg2enc/$(OBJDIR)/hveg2enc $@
-
-install: $(MPEG2PLEX) $(MPEG2ENC) $(HVEG2ENC)
- $(MAKE) -C plugins install
- DST=../bin $(MAKE) -C libzmpeg3 install
- $(MAKE) -C po install
- $(MAKE) -C doc install
- cp COPYING README bin
-ifeq ($(STATIC_LIBRARIES), y)
- if [ -d thirdparty/festival ]; then \
- cp thirdparty/festival/src/main/festival bin ; \
- cp -a thirdparty/festival/lib bin/ ; \
- fi
-endif
- cp -a models bin
- cd bin && find -name '.svn' -exec rm -r {} \; -prune
- rm -f bin/cutads bin/bdwrite bin/manual.pdf
- cp -a cinelerra/$(OBJDIR)/cutads cinelerra/$(OBJDIR)/bdwrite bin/.
- cp -a doc/manual.pdf bin/.
- rm -f bin/new_db
- $(MAKE) -C db/utils new_db
- cp -a db/utils/new_db bin/.
- cp -a ffmpeg msg.txt bin/.
- @if [ ! -f "/cinelerra/media.db" ]; then \
- echo "need to run:"; \
- echo " mkdir /cinelerra"; \
- echo " new_db /cinelerra/media.db"; \
- fi
-COMPILE = $(GCC) -c $(CFLAGS) $? -o $*.o
-
-$(OBJDIR)/soundtest.o: soundtest.c
- $(COMPILE)
-
+++ /dev/null
-
-approx disks space needed for build 3.5GB
-
-this program likes at least 4Gb mem, and x86_64.
- and likes 2 or more cpus (much more)
- can build as i386, but you may run out of address space.
- also: build is parallel, need 1Gb mem per cpu or so...
-
-<os> may be (currently) centos fedora suse ubuntu
-
-0) mkdir -p /home/<os>/google_code
-1) access the bld_scripts.tgz unpack
-2) run bld_prepare.sh <os>
-3) run bld_dynamic.sh <os>
-or run bld_static.sh <os>
-
-prepare installs a bunch of prerequisites.
-
-bld_<dynamic/static> creates a full build/install in
-/home/<os>/google_code/cinelerra/cinelerra-4.6.mod/bin
-
-Note: code.google.com is disappearing.
-all of this will change.
-
+++ /dev/null
-#!/bin/bash
-
-dir="$1"
-path="/home"
-bld="google_code"
-proj="cinelerra"
-base="cinelerra-4.6.mod"
-
-if [ ! -d "$path/$dir/$bld" ]; then
- echo "$bld missing in /$path/$dir"
- exit 1
-fi
-
-cd "$path/$dir/$bld"
-rm -rf "$proj"
-git clone "https://code.google.com/p/$proj"
-if [ $? -ne 0 ]; then
- echo "git clone $bld/$proj/ failed"
- exit 1
-fi
-
-cd "$proj/$base"
-if [ "$dir" = "ubuntu" ]; then
- echo "CFLAGS += -DPNG_SKIP_SETJMP_CHECK=1" >> global_config
-fi
-
-STATIC_LIBRARIES=0 ./configure >& log
-make >> log 2>&1
-make install >> log 2>&1
-
-echo "finished: scanning log for ***"
-grep -a "\*\*\*" log
-
+++ /dev/null
-#!/bin/bash
-
-dir="$1"
-path="/home"
-bld="google_code"
-proj="cinelerra"
-base="cinelerra-4.6.mod"
-
-if [ ! -d "$path/$dir/$bld/$proj" ]; then
- echo "$bld/$proj missing in $path/$dir"
- exit 1
-fi
-
-cd "$path/$dir/$bld/$proj"
-git pull
-if [ $? -ne 0 ]; then
- echo "git pull $bld/$proj failed"
- exit 1
-fi
-
-cd "$base"
-make rebuild_all >& log1
-
-echo "finished: scanning log for ***"
-grep -a "\*\*\*" log1
-
+++ /dev/null
-#!/bin/bash
-
-if [ $# -ne 2 ]; then
- echo "usage: $0 <os> <typ>"
- echo " os = centos | fedora | ubuntu | suse"
- echo " typ = static | dynamic"
- exit 1
-fi
-
-dir="$1"
-path="/home"
-bld="google_code"
-proj="cinelerra"
-base="cinelerra-4.6.mod"
-
-centos="centos-7.0-1406"
-fedora="fedora-21"
-suse="opensuse-13.2"
-ubuntu="ubuntu-14.04.1"
-
-eval os="\${$dir}"
-if [ -z "$os" ]; then
- echo "unknown os: $dir"
-fi
-
-if [ ! -d "$path/$dir/$bld/$proj/$base" ]; then
- echo "missing $bld/$proj/$base in $path/$dir"
- exit 1
-fi
-
-typ=$2
-sfx=`uname -m`
-if [ "$typ" = "static" ]; then
- sfx="$sfx-static"
-elif [ "$typ" != "dynamic" ]; then
- echo "err: suffix must be [static | dynamic]"
- exit 1
-fi
-
-cd "$path/$dir/$bld/$proj/$base"
-tar -C bin -cJf "../$base-$os-$sfx.txz" .
-rm -f "$path/$dir/$base-$os-$sfx.txz"
-mv "../$base-$os-$sfx.txz" "$path/$dir/."
-
+++ /dev/null
-#!/bin/bash
-
-if [ `id -u` -ne 0 ]; then
- echo "you must be root"
-fi
-
-if [ $# -ne 1 ]; then
- echo "usage: $0 <os>"
- echo " <os> = [centos | fedora | suse | ubuntu]"
-fi
-
-dir="$1"
-
-case "$dir" in
-"centos")
- yum -y install nasm libavc1394-devel libusb-devel flac-devel \
- libjpeg-devel libdv-devel libdvdnav-devel libdvdread-devel \
- libtheora-devel libiec61883-devel uuid-devel giflib-devel \
- ncurses-devel ilmbase-devel fftw-devel OpenEXR-devel \
- libsndfile-devel libXft-devel libXinerama-devel libXv-devel \
- xorg-x11-fonts-misc xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 \
- xorg-x11-fonts-ISO8859-1-100dpi xorg-x11-fonts-ISO8859-1-75dpi \
- libpng-devel bzip2-devel zlib-devel kernel-headers \
- libavc1394 festival-devel libiec61883-devel flac-devel \
- libsndfile-devel libtheora-devel linux-firmware ivtv-firmware \
- libvorbis-devel texinfo xz-devel lzma-devel cmake
- yasm=yasm-1.2.0-7.fc21.x86_64.rpm
- release=http://archives.fedoraproject.org/pub/fedora/linux/releases/21
- url=$release/Everything/x86_64/os/Packages/y/$yasm
- wget -P /tmp $url
- yum -y install /tmp/$yasm
- rm -f /tmp/$yasm
- ;;
-"fedora")
- yum -y install nasm yasm libavc1394-devel libusb-devel flac-devel \
- libjpeg-devel libdv-devel libdvdnav-devel libdvdread-devel \
- libtheora-devel libiec61883-devel esound-devel uuid-devel \
- giflib-devel ncurses-devel ilmbase-devel fftw-devel OpenEXR-devel \
- libsndfile-devel libXft-devel libXinerama-devel libXv-devel \
- xorg-x11-fonts-misc xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 \
- xorg-x11-fonts-ISO8859-1-100dpi xorg-x11-fonts-ISO8859-1-75dpi \
- libpng-devel bzip2-devel zlib-devel kernel-headers libavc1394 \
- festival-devel libdc1394-devel libiec61883-devel esound-devel \
- flac-devel libsndfile-devel libtheora-devel linux-firmware \
- ivtv-firmware libvorbis-devel texinfo xz-devel lzma-devel cmake
- ;;
-"suse")
- zypper -n install nasm gcc gcc-c++ zlib-devel texinfo libpng16-devel \
- freeglut-devel libXv-devel alsa-devel libbz2-devel ncurses-devel \
- libXinerama-devel freetype-devel libXft-devel giblib-devel ctags \
- bitstream-vera-fonts xorg-x11-fonts-core xorg-x11-fonts dejavu-fonts \
- openexr-devel libavc1394-devel festival-devel libjpeg8-devel libdv-devel \
- libdvdnav-devel libdvdread-devel libiec61883-devel libuuid-devel \
- ilmbase-devel fftw3-devel libsndfile-devel libtheora-devel flac-devel cmake
- if [ ! -f /usr/lib64/libtermcap.so ]; then
- ln -s libtermcap.so.2 /usr/lib64/libtermcap.so
- fi
- ;;
-"ubuntu")
- apt-get -y install apt-file sox nasm yasm g++ build-essential libz-dev texinfo \
- libpng-dev freeglut3-dev libxv-dev libasound2-dev libbz2-dev \
- libncurses5-dev libxinerama-dev libfreetype6-dev libxft-dev giblib-dev \
- exuberant-ctags ttf-bitstream-vera xfonts-75dpi xfonts-100dpi \
- fonts-dejavu libopenexr-dev libavc1394-dev festival-dev \
- libdc1394-22-dev libiec61883-dev libesd0-dev libflac-dev \
- libsndfile1-dev libtheora-dev git cmake
- ;;
- *)
- echo "unknown os: $dir"
- exit 1;
- ;;
-esac
-
-rm -rf "/home/$dir"
-mkdir -p "/home/$dir"
-chmod a+rwx -R "/home/$dir"
-
+++ /dev/null
-#!/bin/bash
-
-dir="$1"
-path="/home"
-bld="google_code"
-proj="cinelerra"
-base="cinelerra-4.6.mod"
-
-if [ ! -d "$path/$dir/$bld" ]; then
- echo "$bld missing in $path/$dir"
- exit 1
-fi
-
-cd "$path/$dir/$bld"
-rm -rf "$proj"
-git clone "https://code.google.com/p/$proj"
-if [ $? -ne 0 ]; then
- echo "git clone $bld/$proj/ failed"
- exit 1
-fi
-
-cd "$proj/$base"
-if [ "$dir" = "ubuntu" ]; then
- echo "CFLAGS += -DPNG_SKIP_SETJMP_CHECK=1" >> global_config
-fi
-
-STATIC_LIBRARIES=1 ./configure >& log
-make >> log 2>&1
-make install >> log 2>&1
-
-echo "finished: scanning log for ***"
-grep -a "\*\*\*" log
-
+++ /dev/null
-#!/bin/bash -x
-
-TOPDIR=`pwd`
-THIRDPARTY=$TOPDIR/thirdparty
-echo "TOPDIR=$TOPDIR" > global_config
-echo "THIRDPARTY=$TOPDIR/thirdparty" >> global_config
-
-cpus=`grep -c "^proc" /proc/cpuinfo`
-( cd $THIRDPARTY; ./configure cv; \
- export CFG_VARS='CFLAGS+=" -fPIC"'; \
- export MAK_VARS='CFLAGS+=" -fPIC"'; \
- export CFG_PARAMS="--with-pic --enable-pic --disable-asm"; \
- make -j$cpus >& log )
-
-static_libs=`make -C $THIRDPARTY -s val-static_libraries`
-static_includes=`make -C $THIRDPARTY -s val-static_includes`
-
-export LDFLAGS=`for f in $static_libs; do
- if [ ! -f "$f" ]; then continue; fi;
- ls $f
-done | sed -e 's;/[^/]*$;;' | \
-sort -u | while read d; do
- echo -n " -L$d";
-done`
-
-export LIBS=`for f in $static_libs; do
- if [ ! -f "$f" ]; then continue; fi;
- ls $f
-done | sed -e 's;.*/;;' -e 's;lib\(.*\)\.a$;\1;' | \
-sort -u | while read a; do
- echo -n " -l$a";
-done`
-
-export CFLAGS="$static_includes"
-export CXXFLAGS="$static_includes"
-
-if [ ! -f configure ]; then
- ./autogen.sh
-fi
-sed -e 's/^LIBX264_LIBS=""/#LIBX264_LIBS=""/' -i configure
-
-export MJPEG_LIBS="-L$THIRDPARTY/mjpegtools-2.1.0/utils/.libs -lmjpegutils \
- -L$THIRDPARTY/mjpegtools-2.1.0/lavtools/.libs -llavfile \
- -L$THIRDPARTY/mjpegtools-2.1.0/lavtools/.libs -llavjpeg \
- -L$THIRDPARTY/mjpegtools-2.1.0/mpeg2enc/.libs -lmpeg2encpp \
- -L$THIRDPARTY/mjpegtools-2.1.0/mplex/.libs -lmplex2"
-export MJPEG_CFLAGS="-I$THIRDPARTY/mjpegtools-2.1.0/. \
- -I$THIRDPARTY/mjpegtools-2.1.0/lavtools \
- -I$THIRDPARTY/mjpegtools-2.1.0/utils"
-
-export LIBX264_CFLAGS="-I$THIRDPARTY/x264-20151229/."
-export LIBX264_LIBS="-L$THIRDPARTY/x264-20151229/. -lx264"
-
-for f in $MJPEG_LIBS $LIBX264_LIBS; do
- LIBS=`echo "$LIBS" | sed -e "s/[ ]*\<$f\>[ ]*/ /"`
-done
-
-echo LDFLAGS=$LDFLAGS
-echo LIBS=$LIBS
-echo CFLAGS=$CFLAGS
-
-./configure
-
-include ../global_config
-include $(THIRDPARTY)/config.mak
+TOPDIR ?= $(CURDIR)/..
+export TOPDIR
+include $(TOPDIR)/global_config
OBJS = \
$(OBJDIR)/aattachmentpoint.o \
# $(OBJDIR)/renderfarmfsclient.o \
# $(OBJDIR)/renderfarmfsserver.o \
+GCC ?= gcc
DCRAW := $(OBJDIR)/dcraw.o
THEME_DATA := $(OBJDIR)/theme_data.o
OUTPUT_G = $(OBJDIR)/cinelerra.debuginfo
-OUTPUT = ../bin/cinelerra
+OUTPUT = $(BINDIR)/cinelerra
LIBRARIES := \
- ../guicast/$(OBJDIR)/libguicast.a \
- ../libzmpeg3/$(OBJDIR)/libzmpeg3.a \
- ../mpeg2enc/$(OBJDIR)/hveg2enc.a \
- ../db/$(OBJDIR)/db.a \
+ $(GUICAST)/$(OBJDIR)/libguicast.a \
+ $(LIBZMPEG3)/$(OBJDIR)/libzmpeg3.a \
+ $(MPEG2ENC)/$(OBJDIR)/hveg2enc.a \
+ $(TDB)/$(OBJDIR)/db.a \
$(THEME_DATA) \
-LIBS = $(LIBRARIES)
-LIBS += $(thirdparty_libraries) $(static_libraries)
-LIBS += \
- -lX11 \
- -lXext \
- -lXinerama \
- -lXv \
- -lpthread \
- -lm \
- -lpng \
- -lz \
- -lbz2 \
- -llzma \
- -lfontconfig \
- -lfreetype \
-
-LIBS += -Wl,--start-group $(thirdparty_libraries) -Wl,--end-group
-LIBS += $(EXTRA_LIBS)
+LIBS := $(LIBRARIES)
+LIBS += $(libraries)
CUTADS = $(OBJDIR)/cutads
CUTOBJ = $(OBJDIR)/cutads.o
$(OBJDIR)/mediadb.o \
$(OBJDIR)/filexml.o
CUTLIBS = \
- ../libzmpeg3/$(OBJDIR)/libzmpeg3.a -lX11 \
- ../db/$(OBJDIR)/db.a
+ $(LIBZMPEG3)/$(OBJDIR)/libzmpeg3.a -lX11 \
+ $(TDB)/$(OBJDIR)/db.a
BDWRITE = $(OBJDIR)/bdwrite
BDWOBJS = $(OBJDIR)/bdwrite.o
-ifeq ($(HAVE_GL), y)
-LIBS += -lGL -lGLU
-endif
-
-ifeq ($(HAVE_ALSA), y)
-CFLAGS += -DHAVE_ALSA
-LIBS += -lasound
-endif
-
-ifeq ($(HAVE_XFT), y)
-LIBS += -lXft
-endif
-
-
CFLAGS += \
- -I../guicast \
- -I../libzmpeg3 \
- $(static_includes) \
-
-ifeq ($(call lib_typ,$(ilmbase)),shared)
-CFLAGS += \
- -I/usr/include/OpenEXR
-endif
+ -I$(GUICAST) \
+ -I$(LIBZMPEG3) \
+ $(static_incs) \
# Speed up linking with this linking sequence
ifeq ($(OBJDIR), alpha)
LDFLAGS1 = \
--demangle=compaq -export-dynamic -L./ \
- -L../guicast -L/usr/X11R6/lib \
+ -L$(GUICAST) -L/usr/X11R6/lib \
-L`expr /usr/lib/compaq/cxx-*/alpha-linux/`lib -L/usr/local/lib \
-L`expr /usr/lib/gcc-lib/alpha-redhat-linux/*` \
-rpath `expr /usr/lib/compaq/cxx-*/alpha-linux/`bin/ -m elf64alpha \
FFMPEG_CFLAGS := \
-include /usr/include/time.h \
+$(shell mkdir -p $(OBJDIR))
$(shell echo $(CFLAGS) -c > $(OBJDIR)/c_flags)
$(shell echo $(CFLAGS) -c $(FFMPEG_CFLAGS) > $(OBJDIR)/ffmpeg_cflags)
$(shell echo $(LDFLAGS1) $(OBJS) $(DCRAW) $(FILEEXR) $(FILEFLAC) $(AVIOBJS) \
clean:
rm -rf $(OBJDIR)
- find \( -name core \
- -o -name '*.o' -o -name '*.a' \
- -o -name '*.so' \) -exec rm -f {} \; -prune
+
+install:
+ cp -a $(OBJDIR)/cutads $(BINDIR)/.
+ cp -a $(OBJDIR)/bdwrite $(BINDIR)/.
tags:
ctags -R -h default --langmap=c:+.inc . ../guicast/ ../libzmpeg3 ../plugins
$(THEME_DATA):
cd $(OBJDIR) && \
- ../../guicast/$(OBJDIR)/bootstrap theme_data.o ../data/mode_*.png
+ $(GUICAST)/$(OBJDIR)/bootstrap theme_data.o $(CINELERRA)/data/mode_*.png
val-%:
@echo $($(subst val-,,$@))
#include <stdlib.h>
#include "bcwindowbase.inc"
-#include "librom1394/rom1394.h"
+#include "libavc1394/rom1394.h"
#include "libavc1394/avc1394.h"
#include "libavc1394/avc1394_vcr.h"
#include "mutex.inc"
shbtn_prefs.remove_all_objects();
int shbtns_total = defaults->get("SHBTNS_TOTAL", -1);
if( shbtns_total < 0 ) {
-// shbtn_prefs.append(new ShBtnPref("manual", "firefox file:///$CINELERRA_PATH/manual.pdf", 0));
- shbtn_prefs.append(new ShBtnPref("online help", "firefox https://cinelerra-cv.org/docs/cinelerra_cv_manual_en.html", 0));
+ shbtn_prefs.append(new ShBtnPref("Features5", "firefox file:///$CINELERRA_PATH/doc/Features5.pdf", 0));
+ shbtn_prefs.append(new ShBtnPref("Online Help", "firefox https://cinelerra-cv.org/docs.php", 0));
+ shbtn_prefs.append(new ShBtnPref("Orignal Manual", "firefox file:///$CINELERRA_PATH/doc/cinelerra.html", 0));
shbtns_total = 0;
}
for( int i=0; i<shbtns_total; ++i ) {
+++ /dev/null
-#!/bin/bash
-# configure reset - resets probed config
-# configure static - build all builtin static libraries
-# configure shared - build only static libraries needed
-
-#edit global_config and set HAVE_var to override probe
-
-PROBED="STATIC_LIBRARIES HAVE_VIDEO4LINUX2 HAVE_DVB HAVE_GL"
-PROBED="$PROBED HAVE_DL HAVE_NUMA HAVE_PACTL"
-
-if [ $# -gt 0 ]; then
- if [ "$1" = "reset" ]; then
- for v in $PROBED; do
- sed -e "s/^$v := .*/#$v := y/" -i global_config
- done
- echo "configuration reset"
- exit 0;
- fi
- if [ "$1" = "static" ]; then
- STATIC_LIBRARIES=y
- elif [ "$1" = "shared" ]; then
- STATIC_LIBRARIES=n
- else
- echo usage: "./configure <shared | static>"
- exit 1
- fi
-fi
-
-if [ -z "$STATIC_LIBRARIES" ]; then
-STATIC_LIBRARIES=y
-fi
-
-for v in $PROBED; do
- vv=`grep "^$v := .*" global_config`
- if [ $? = 0 ]; then
- echo "config probe override: $vv"
- fi
-done
-
-# test for nasm
-OBJDIR=`uname -m`
-TOPDIR=`pwd`
-
-if [ $OBJDIR = i686 ]; then
- if [ ! -x /usr/bin/nasm -a ! -x /usr/local/bin/nasm ]; then
- echo " *** Nasm is required.";
- exit 1
- fi
-
-fi
-
-if [ ! -x /usr/bin/yasm -a ! -x /usr/local/bin/yasm ]; then
- echo " *** Yasm is required.";
- exit 1
-fi
-
-
-# test for videodev2.h
-
-rm -f a.out
-cat > conftest.c << EOF
-#include <asm/types.h>
-#include <sys/time.h>
-#include <linux/videodev2.h>
-int main()
-{
- return 0;
-}
-EOF
-
-gcc conftest.c > /dev/null 2>&1
-
-if [ -x a.out ]; then HAVE_VIDEO4LINUX2=y; else HAVE_VIDEO4LINUX2=n; fi
-
-
-# test for dvb
-
-rm -f a.out
-cat > conftest.c << EOF
-#include <time.h>
-#include <linux/dvb/dmx.h>
-#include <linux/dvb/frontend.h>
-int main()
-{
- return 0;
-}
-EOF
-
-gcc conftest.c > /dev/null 2>&1
-
-if [ -x a.out ]; then HAVE_DVB=y; else HAVE_DVB=n; fi
-
-rm -f a.out conftest.c
-
-
-# test for -msse support
-
-rm -f a.out
-cat > conftest.c << EOF
-int main()
-{
- return 0;
-}
-EOF
-
-gcc -msse conftest.c > /dev/null 2>&1
-
-if [ -x a.out ]; then HAVE_GCC=y; else HAVE_GCC=n; fi
-
-rm -f a.out conftest.c
-
-if [ $HAVE_GCC = n ]; then
- echo " *** GCC 3.2.2 or greater is required. Download it from gcc.gnu.org";
- exit 1
-fi
-
-
-# test for OpenGL 2.0
-
-rm -f a.out
-cat > conftest.c << EOF
-#include <GL/gl.h>
-#include <GL/glext.h>
-#include <GL/glu.h>
-int main()
-{
- glUseProgram(0);
- return 0;
-}
-EOF
-
-gcc conftest.c -lGL -lGLU > /dev/null 2>&1
-
-if [ -x a.out ]; then HAVE_GL=y; else HAVE_GL=n; fi
-
-rm -f a.out conftest.c
-
-
-# test for libdl
-
-rm -f a.out
-cat > conftest.c << EOF
-int main()
-{
- return 0;
-}
-EOF
-
-gcc conftest.c -ldl > /dev/null 2>&1
-
-if [ -x a.out ]; then HAVE_DL=y; else HAVE_DL=n; fi
-
-rm -f a.out conftest.c
-
-
-# test for libnuma
-
-rm -f a.out
-cat > conftest.c << EOF
-int main()
-{
- return 0;
-}
-EOF
-
-gcc conftest.c -lnuma > /dev/null 2>&1
-
-if [ -x a.out ]; then HAVE_NUMA=y; else HAVE_NUMA=n; fi
-
-rm -f a.out conftest.c
-
-if pactl --version >& /dev/null; then HAVE_PACTL=y; else HAVE_PACTL=n; fi
-
-# update global_config with probe data
-
-for v in $PROBED; do
- sed -e "s/^#$v := .*/$v := ${!v}/" -i global_config
-done
-
-# configure thirdparty build
-
-cd thirdparty
-case "$STATIC_LIBRARIES" in
- "y") ./configure static ;;
- "n") ./configure shared ;;
- *) echo "configuration failed"; exit 1;;
-esac
-if [ $? -ne 0 ]; then
- echo "Error in thirdparty configuration."
- exit 1
-fi
-cd ..
-
-# configure libzmpeg3 build
-
-echo CONFIGURING LIBZMPEG3
-cd libzmpeg3* && ./configure && cd ..
-if [ $? -ne 0 ]; then
- echo "Error in libzmpeg3 configuration."
- exit 1
-fi
-
-# success
-
-echo "Configured successfully."
-echo "Type 'make' to build me."
-echo "If all ok, 'make install'";
-
--- /dev/null
+
+AC_PREREQ([2.69])
+AM_INIT_AUTOMAKE([foreign])
+
+AM_PROG_AS
+AC_LANG_CPLUSPLUS
+AC_LANG_C
+AC_PROG_CXX
+
+CFLAGS+=" -fno-omit-frame-pointer -fno-math-errno -fno-signed-zeros"
+CFLAGS+=" -pthread -Wall"
+CFLAGS+=" -D__STDC_CONSTANT_MACROS"
+CFLAGS+=" -D__STDC_LIMIT_MACROS"
+CFLAGS+=" -DPNG_SKIP_SETJMP_CHECK=1"
+CFLAGS+=" -I/usr/include/freetype2"
+
+CPUS=`grep -c "^proc" /proc/cpuinfo`
+JOBS=`expr $CPUS + $CPUS / 2 + 2`
+AC_ARG_WITH([jobs],
+ AC_HELP_STRING([--with-jobs],[parallel build jobs (cpus+cpus/2+2)]),
+ [WANT_JOBS=$withval], [WANT_JOBS=$JOBS])
+AC_SUBST(WANT_JOBS)
+
+AC_DEFUN([PKG_3RD],[
+AC_ARG_ENABLE([$1],
+ AC_HELP_STRING([--enable-$1],[build $1 ($2)]),
+ [PKG_$1=$enableval], [PKG_$1=$2])
+STATIC_PKGS+=" [$1]"
+ver_$1="$3"
+lib_$1="$4"
+inc_$1="$5"
+])
+
+# thirdparty builds
+
+PKG_3RD([a52dec],[yes],
+ [a52dec-0.7.4],
+ [ liba52/.libs/liba52.a ],
+ [ include ])
+
+PKG_3RD([audiofile],[auto],
+ [audiofile-0.3.6],
+ [ libaudiofile/.libs/libaudiofile.a \
+ libaudiofile/modules/.libs/libmodules.a \
+ libaudiofile/alac/.libs/libalac.a ],
+ [ libaudiofile ])
+
+PKG_3RD([encore],[yes],
+ [encore-5.0],
+ [ \$(OBJDIR)/libencore.a ],
+ [ . ])
+
+PKG_3RD([esound],[auto],
+ [esound-0.2.41],
+ [ .libs/libesd.a \
+ .libs/libesddsp.a ],
+ [ . ])
+
+PKG_3RD([faac],[auto],
+ [faac-1.28],
+ [ libfaac/.libs/libfaac.a \
+ common/mp4v2/libmp4v2.a ],
+ [ include ])
+
+PKG_3RD([faad2],[auto],
+ [faad2-2.7],
+ [ libfaad/.libs/libfaad.a \
+ common/mp4ff/libmp4ff.a ],
+ [ include ])
+
+PKG_3RD([fdk],[auto],
+ [fdk-aac-0.1.4],
+ [ .libs/libfdk-aac.a ],
+ [ libAACdec/include libAACenc/include libSYS/include ])
+
+PKG_3RD([ffmpeg],[yes],
+ [ffmpeg-3.0],
+ [ libavutil/libavutil.a \
+ libavcodec/libavcodec.a \
+ libpostproc/libpostproc.a \
+ libavdevice/libavdevice.a \
+ libavformat/libavformat.a \
+ libswscale/libswscale.a \
+ libavfilter/libavfilter.a \
+ libswresample/libswresample.a ],
+ [ . ])
+
+PKG_3RD([fftw],[auto],
+ [fftw-3.3.4],
+ [ .libs/libfftw3.a \
+ libbench2/libbench2.a \
+ rdft/scalar/r2cb/.libs/librdft_scalar_r2cb.a \
+ rdft/scalar/r2r/.libs/librdft_scalar_r2r.a \
+ rdft/scalar/.libs/librdft_scalar.a \
+ rdft/scalar/r2cf/.libs/librdft_scalar_r2cf.a \
+ rdft/.libs/librdft.a \
+ api/.libs/libapi.a \
+ reodft/.libs/libreodft.a \
+ dft/scalar/codelets/.libs/libdft_scalar_codelets.a \
+ dft/scalar/.libs/libdft_scalar.a \
+ dft/.libs/libdft.a \
+ kernel/.libs/libkernel.a \
+ simd-support/.libs/libsimd_support.a \
+ simd-support/.libs/libsimd_sse2_nonportable.a ],
+ [ api ])
+
+PKG_3RD([flac],[auto],
+ [flac-1.3.1],
+ [ src/libFLAC/.libs/libFLAC.a \
+ src/libFLAC++/.libs/libFLAC++.a \
+ src/share/replaygain_analysis/.libs/libreplaygain_analysis.a \
+ src/share/replaygain_synthesis/.libs/libreplaygain_synthesis.a \
+ src/share/grabbag/.libs/libgrabbag.a \
+ src/share/utf8/.libs/libutf8.a \
+ src/test_libs_common/.libs/libtest_libs_common.a ],
+ [ include ])
+
+PKG_3RD([giflib],[yes],
+ [giflib-5.1.2],
+ [ lib/.libs/libgif.a \
+ util/libgetarg.a ],
+ [ lib ])
+
+PKG_3RD([ilmbase],[auto],
+ [ilmbase-2.2.0],
+ [ Iex/.libs/libIex.a \
+ IexMath/.libs/libIexMath.a \
+ Half/.libs/libHalf.a \
+ Imath/.libs/libImath.a \
+ IlmThread/.libs/libIlmThread.a ],
+ [ Iex Half Imath config IlmThread ])
+
+PKG_3RD([ladspa],[auto],
+ [ladspa-05182015],
+ [],
+ [])
+
+PKG_3RD([lame],[auto],
+ [lame-3.99.5],
+ [ libmp3lame/.libs/libmp3lame.a \
+ mpglib/.libs/libmpgdecoder.a ],
+ [ include ])
+
+PKG_3RD([libavc1394],[auto],
+ [libavc1394-0.5.4],
+ [ libavc1394/.libs/libavc1394.a \
+ librom1394/.libs/librom1394.a \
+ common/.libs/libraw1394util.a ],
+ [ . ])
+
+PKG_3RD([libraw1394],[auto],
+ [libraw1394-2.0.5],
+ [ src/.libs/libraw1394.a ],
+ [ . ])
+
+PKG_3RD([libiec61883],[auto],
+ [libiec61883-1.2.0],
+ [ src/.libs/libiec61883.a ],
+ [ src ])
+
+PKG_3RD([libdv],[auto],
+ [libdv-1.0.0],
+ [ libdv/.libs/libdv.a ],
+ [ . ])
+
+PKG_3RD([libjpeg],[auto],
+ [libjpeg-turbo-1.4.0],
+ [ .libs/libjpeg.a \
+ .libs/libturbojpeg.a \
+ simd/.libs/libsimd.a ],
+ [ . ])
+
+PKG_3RD([openjpeg],[yes],
+ [openjpeg-2.1.0-20160221],
+ [ bin/libopenjp2.a ],
+ [ src/lib/openjp2 ])
+
+PKG_3RD([libogg],[auto],
+ [libogg-1.3.2],
+ [ src/.libs/libogg.a ],
+ [ include ])
+
+PKG_3RD([libsndfile],[auto],
+ [libsndfile-1.0.26],
+ [ src/.libs/libsndfile.a \
+ src/.libs/libcommon.a \
+ src/G72x/.libs/libg72x.a \
+ src/GSM610/.libs/libgsm.a ],
+ [ . ])
+
+PKG_3RD([libtheora],[auto],
+ [libtheora-1.1.1],
+ [ lib/.libs/libtheora.a \
+ lib/.libs/libtheoradec.a \
+ lib/.libs/libtheoraenc.a ],
+ [ . ])
+
+PKG_3RD([libuuid],[yes],
+ [libuuid-1.0.3],
+ [ .libs/libuuid.a ],
+ [ . ])
+
+PKG_3RD([libvorbis],[auto],
+ [libvorbis-1.3.5],
+ [ lib/.libs/libvorbis.a \
+ lib/.libs/libvorbisenc.a \
+ lib/.libs/libvorbisfile.a ],
+ [ include . ])
+
+PKG_3RD([mjpegtools],[yes],
+ [mjpegtools-2.1.0],
+ [ utils/mmxsse/.libs/libmmxsse.a \
+ utils/.libs/libmjpegutils.a \
+ lavtools/.libs/liblavfile.a \
+ lavtools/.libs/liblavjpeg.a \
+ mplex/.libs/libmplex2.a \
+ yuvfilters/.libs/libyuvfilters.a \
+ mpeg2enc/.libs/libmpeg2encpp.a ],
+ [ . lavtools utils ])
+
+PKG_3RD([openexr],[auto],
+ [openexr-2.2.0],
+ [ IlmImf/.libs/libIlmImf.a \
+ IlmImfUtil/.libs/libIlmImfUtil.a ],
+ [ IlmImf config ])
+
+#PKG_3RD([festival],[no],
+# [festival],
+# [],
+# [])
+#PKG_3RD(speech_tools,[no],
+# [speech_tools],
+# [],
+# [])
+#
+PKG_3RD([tiff],[auto],
+ [tiff-3.8.2],
+ [ libtiff/.libs/libtiff.a \
+ libtiff/.libs/libtiffxx.a \
+ port/.libs/libport.a ],[
+ . ])
+
+PKG_3RD([twolame],[auto],
+ [twolame-0.3.13],
+ [ libtwolame/.libs/libtwolame.a ],
+ [ libtwolame ])
+
+PKG_3RD([x264],[yes],
+ [x264-snapshot-20160220-2245-stable],
+ [ libx264.a ],
+ [ . ])
+
+PKG_3RD([x265],[yes],
+ [x265_1.9],
+ [ libx265.a ],
+ [ . source ])
+
+PKG_3RD([libvpx],[auto],
+ [libvpx-1.5.0],
+ [ libvpx.a ],
+ [ . ])
+
+AC_SUBST(STATIC_PKGS)
+
+
+AC_DEFUN([CHECK_WITH], [
+AC_ARG_WITH([$1],
+ AC_HELP_STRING([--with-[$1]], [$3 ([$4])]),
+ [WANT_$2=$withval], [WANT_$2=[$4]])
+])
+
+CHECK_WITH([ladspa], [ladspa], [build ladspa library], [yes])
+
+AC_DEFUN([CHECK_ENABLE], [
+AC_ARG_ENABLE([$1],
+ AC_HELP_STRING([--enable-[$1]], [$3 ([$4])]),
+ [WANT_$2=$enableval], [WANT_$2=[$4]])
+])
+
+CHECK_ENABLE([static], [STATIC_BUILD], [build static], [yes])
+CHECK_ENABLE([forced], [FORCED_BUILD], [build forced], [no])
+CHECK_ENABLE([x264_hidepth], [X264_HIDEPTH], [build x264 10bit], [no])
+CHECK_ENABLE([x265_hidepth], [X265_HIDEPTH], [build x265 10/12bit], [no])
+
+AC_DEFUN([CHECK_PROG], [
+ AC_CHECK_PROG([PROG_$1], [$2], [yes],[no])
+])
+AC_DEFUN([REQUIRE_PROG], [
+ CHECK_PROG([$1],[$2])
+ if test "x$PROG_$1" = "xno"; then
+ AC_MSG_WARN([$2 is missing and required.])
+ FATAL_ERROR=1
+ fi
+])
+
+# Checks for programs.
+
+REQUIRE_PROG(NASM, [nasm])
+REQUIRE_PROG(YASM, [yasm])
+REQUIRE_PROG(OBJCOPY, [objcopy])
+if test "x$FATAL_ERROR" != "x"; then
+ AC_MSG_ERROR("fatal eror.")
+fi
+CHECK_PROG(PACTL, [pactl])
+
+# Checks for headers/libraries.
+
+AC_DEFUN([CHECK_HEADERS], [
+if test "x$HAVE_$1" != "xno"; then
+ AC_CHECK_HEADER(m4_apply([m4_car],m4_split([$3])), [HAVE_$1=yes], [HAVE_$1=no],
+ [m4_foreach([i], m4_split([$3]), [[#include "]i["
+]])])
+ AC_SUBST([HAVE_$1])
+ AC_MSG_CHECKING([$2])
+ AC_MSG_RESULT([$HAVE_$1])
+ if test "x$HAVE_$1" = "xno"; then
+ if test "x$PKG_$1" = "x"; then RESULT=no; fi
+ fi
+fi
+])
+
+AC_DEFUN([CHECK_LIB], [
+if test "x$HAVE_$1" != "xno"; then
+ if test "x$PKG_$1" = "x" -o "x$WANT_STATIC_BUILD" = "xno"; then
+ AC_CHECK_LIB([$2], [$3], [HAVE_$1=yes], [HAVE_$1=no], [$4])
+ AC_SUBST([HAVE_$1])
+ if test "x$HAVE_$1" = "xyes"; then
+ if test "x$PKG_$1" = "x"; then
+ SYSTEM_LIBS+=" -l[$2]"
+ for lib in [$4]; do SYSTEM_LIBS+=" $lib"; done
+ else
+ SHARED_$1+=" -l[$2]"
+ for lib in [$4]; do SHARED_LIBS+=" $lib"; done
+ fi
+ elif test "x$PKG_$1" = "x"; then RESULT=no; fi
+ fi
+fi
+])
+
+CHECK_LIB([X11], [X11], [XOpenDisplay])
+CHECK_HEADERS([X11], [X11 headers], [X11/X.h X11/Xlib.h X11/Xutil.h X11/cursorfont.h])
+CHECK_HEADERS([X11], [X11 headers], [X11/keysym.h X11/Sunkeysym.h X11/Xatom.h X11/XF86keysym.h])
+CHECK_LIB([XEXT], [Xext], [XShmQueryExtension])
+CHECK_HEADERS([XEXT], [Xlib XShm extention], [X11/Xlib.h X11/extensions/XShm.h X11/extensions/shape.h])
+CHECK_LIB([XINERAMA], [Xinerama], [XineramaQueryExtension])
+CHECK_HEADERS([XINERAMA], [Xinerama headers], [X11/extensions/Xinerama.h])
+CHECK_LIB([XV], [Xv], [XvQueryExtension])
+CHECK_HEADERS([XV], [Xlib Xv extention], [X11/Xlib.h X11/extensions/Xvlib.h])
+CHECK_LIB([BZ2], [bz2], [BZ2_bzDecompress])
+CHECK_LIB([FONTCONFIG], [fontconfig], [FcInit])
+CHECK_LIB([FREETYPE], [freetype], [FT_Init_FreeType])
+CHECK_LIB([LZMA], [lzma], [lzma_version_number])
+CHECK_LIB([PNG], [png], [png_read_png])
+CHECK_LIB([PTHREAD], [pthread], [pthread_create])
+CHECK_LIB([Z], [z], [gzopen])
+CHECK_LIB([fftw], [fftw3], [fftw_execute])
+CHECK_HEADERS([fftw], [fftw headers], [fftw3.h])
+CHECK_LIB([libuuid], [uuid], [uuid_clear])
+CHECK_HEADERS([libuuid], [uuid headers], [uuid/uuid.h])
+CHECK_HEADERS([LINUX_CDROM], [linux cdrom headers], [linux/cdrom.h linux/futex.h])
+CHECK_HEADERS([LINUX_SYS], [linux sys], [sys/ioctl.h sys/stat.h sys/types.h sys/time.h sys/syscall.h])
+CHECK_LIB([flac], [FLAC], [FLAC__stream_decoder_new])
+CHECK_HEADERS([flac], [FLAC headers], [FLAC/stream_decoder.h])
+CHECK_LIB([lame], [mp3lame], [lame_init])
+CHECK_HEADERS([lame], [lame headers], [lame/lame.h])
+CHECK_LIB([libjpeg], [jpeg], [jpeg_start_decompress])
+CHECK_HEADERS([libjpeg], [jpeg headers], [stdio.h jpeglib.h])
+CHECK_LIB([libogg], [ogg], [ogg_stream_init])
+CHECK_HEADERS([libogg], [ogg headers], [ogg/ogg.h])
+CHECK_LIB([openjpeg], [openjpeg], [opj_version])
+CHECK_HEADERS([openjpeg], [openjpeg headers], [openjpeg.h])
+CHECK_LIB([libsndfile], [sndfile], [sf_open])
+CHECK_HEADERS([libsndfile], [sndfile headers], [sndfile.h])
+CHECK_LIB([ilmbase], [IlmImf], [ImfOpenInputFile])
+CHECK_HEADERS([ilmbase], [IlmImf headers], [OpenEXR/ImfCRgbaFile.h])
+CHECK_LIB([libtheora], [theora], [theora_info_init], [-ltheoraenc -ltheoradec -logg])
+CHECK_HEADERS([libtheora], [threora headers], [theora/theoraenc.h])
+CHECK_LIB([libvorbis], [vorbisenc], [vorbis_encode_init], [-lvorbis -lvorbisfile -logg])
+CHECK_HEADERS([libvorbis], [vorbis encoders headers], [vorbis/vorbisenc.h])
+CHECK_LIB([libvorbis], [vorbisfile], [ov_open])
+CHECK_HEADERS([libvorbis], [vorbis file headers], [vorbis/vorbisfile.h])
+CHECK_LIB([libvpx], [vpx], [vpx_codec_decode])
+CHECK_HEADERS([libvpx], [vpx headers], [vpx/vpx_decoder.h])
+CHECK_LIB([tiff], [tiff], [TIFFOpen])
+CHECK_HEADERS([tiff], [tiff headers], [tiff.h tiffio.h])
+CHECK_LIB([twolame], [twolame], [twolame_encode_buffer_float32_interleaved])
+CHECK_HEADERS([twolame], [twolame headers], [twolame.h])
+CHECK_LIB([x264], [x264], [x264_encoder_encode])
+CHECK_HEADERS([x264], [x264 headers], [stdint.h x264.h])
+CHECK_LIB([x265], [x265], [x265_encoder_encode])
+CHECK_HEADERS([x265], [x265 headers], [x265.h])
+CHECK_LIB([a52dec], [a52], [a52_init])
+CHECK_HEADERS([a52dec], [a52 headers], [a52.h])
+CHECK_LIB([encore], [encore], [encore])
+CHECK_HEADERS([encore], [encore headers], [encore.h])
+CHECK_LIB([faac], [faac], [faacEncOpen])
+CHECK_HEADERS([faac], [faac headers], [faac.h])
+CHECK_LIB([faad2], [faad], [faacDecInit])
+CHECK_HEADERS([faad2], [faad headers], [faad.h])
+CHECK_LIB([giflib], [gif], [DGifOpen])
+CHECK_HEADERS([giflib], [gif lib headers], [gif_lib.h])
+CHECK_LIB([fdk], [fdk-aac], [faacDecInit])
+CHECK_HEADERS([fdk], [fdk headers], [fdk-aac/genericStds.h])
+
+
+AC_DEFUN([CHECK_WANT], [
+RESULT=yes
+AC_ARG_WITH(m4_tolower([$1]),
+ AC_HELP_STRING([m4_join([-],[--with],m4_tolower([$1]))], [$2] (auto)),
+ [WANT_$1=$withval],[WANT_$1=auto])
+# WANT_$1
+if test "x$WANT_$1" != "xno" ; then
+ m4_quote($3)
+fi
+if test "x$RESULT" = "xno" -a "x$PKG_$1" = "x"; then
+ echo "=== want $1 Failed."
+ WANT_$1=no
+fi
+AC_SUBST([WANT_$1])
+])
+
+CHECK_WANT([GL], [use opengl], [
+ CHECK_LIB([GL], [GL], [glUseProgram])
+ CHECK_LIB([GL], [GLU], [gluOrtho2D])
+ CHECK_HEADERS([GL], [opengl headers], [GL/gl.h GL/glext.h GL/glu.h GL/glx.h])])
+
+CHECK_WANT([OSS], [use OSS audio], [
+ CHECK_HEADERS([OSS], [oss headers], [sys/soundcard.h])])
+
+CHECK_WANT([XFT], [use libXft], [
+ CHECK_LIB([XFT], [Xft], [XftInit])
+ CHECK_HEADERS([XFT], [Xft/freetype headers], [X11/Xlib.h X11/Xft/Xft.h])])
+
+CHECK_WANT([ALSA], [use libasound/alsa], [
+ CHECK_LIB([ALSA], [asound], [snd_pcm_open])
+ CHECK_HEADERS([ALSA], [asound headers], [alsa/asoundlib.h])])
+
+CHECK_WANT([FIREWIRE], [use firewire], [
+ CHECK_LIB([libavc1394], [avc1394], [avc1394_init_target])
+ CHECK_HEADERS([libavc1394], [libavc1394 headers], [libavc1394/avc1394.h])
+ CHECK_LIB([libavc1394], [rom1394], [rom1394_get_bus_id])
+ CHECK_HEADERS([libavc1394], [librom1394 headers], [libavc1394/rom1394.h])
+ CHECK_LIB([libiec61883], [iec61883], [iec61883_mpeg2_recv_init])
+ CHECK_HEADERS([libiec61883], [libiec61883 headers], [libiec61883/iec61883.h])
+ CHECK_LIB([libraw1394], [raw1394], [raw1394_iso_recv_init])
+ CHECK_HEADERS([libraw1394], [libraw1394 headers], [libraw1394/raw1394.h])])
+
+CHECK_WANT([DV], [use dv], [
+ CHECK_LIB([libdv], [dv], [dv_init])
+ CHECK_HEADERS([libdv], [libdv headers], [libdv/dv.h])])
+
+CHECK_WANT([DVB], [use dvb], [
+ CHECK_HEADERS([DVB], [dvb device headers], [linux/dvb/dmx.h linux/dvb/frontend.h])])
+
+CHECK_WANT([VIDEO4LINUX2], [use v4l2], [
+ CHECK_HEADERS([VIDEO4LINUX2], [v4l2 system headers], [linux/kernel.h linux/types.h linux/videodev2.h])])
+
+CHECK_WANT([XXF86VM], [use xf86vmode], [
+ CHECK_HEADERS([XXF86VM], [XF86VM headers], [X11/Xlib.h X11/extensions/xf86vmode.h])])
+
+CHECK_WANT([ESOUND], [use esd], [
+ CHECK_LIB([esound], [esd], [esd_open_sound])
+ CHECK_HEADERS([esound], [esound headers], [esd.h])
+ CHECK_LIB([audiofile], [audiofile], [afOpenFile])
+ CHECK_HEADERS([audiofile], [audiofile headers], [audiofile.h])])
+
+CHECK_WANT([DL], [system has libdl], [
+ CHECK_LIB([DL], [dl], [dlopen])])
+
+CHECK_WANT([NUMA], [system has libnuma], [
+ CHECK_LIB([NUMA], [numa], [numa_alloc])])
+
+
+AC_MSG_CHECKING([for openexr available])
+saved_LIBS="$LIBS"
+saved_CXXFLAGS="$CXXFLAGS"
+# ilmbase libs
+LIBS=" -lIlmImf -lIlmThread -lIex"
+CXXFLAGS="-I/usr/include/OpenEXR"
+AC_LANG_PUSH(C++)
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#include "ImfChannelList.h"
+#include "ImfChromaticities.h"
+#include "ImfCompression.h"
+#include "ImfIO.h"
+#include "ImfInputFile.h"
+#include "ImfOutputFile.h"
+#include "ImfPixelType.h"
+#include "ImfRgbaFile.h"
+#include "ImfRgbaYca.h"
+#include "ImfVersion.h"
+class EXRIStream : public Imf::IStream { public:
+EXRIStream() : Imf::IStream("mypath") {} };
+class EXROStream : public Imf::OStream { public:
+EXROStream() : Imf::OStream("mypath") {} };
+]])], [HAVE_openexr=yes], [HAVE_openexr=no])
+if test "x$HAVE_openexr" = "xyes"; then
+ SHARED_openexr="$LIBS"
+fi
+LIBS="$saved_LIBS"
+CXXFLAGS="$saved_CXXFLAGS"
+AC_LANG_POP(C++)
+AC_MSG_RESULT([$HAVE_openexr])
+AC_SUBST([HAVE_openexr])
+
+# false=speed up
+if false; then
+# pointless Checks for header files.
+AC_CHECK_HEADERS([assert.h fcntl.h float.h libintl.h limits.h])
+AC_CHECK_HEADERS([stdio.h stdint.h stdlib.h string.h strings.h])
+AC_CHECK_HEADERS([ctype.h dlfcn.h byteswap.h endian.h errno.h error.h])
+AC_CHECK_HEADERS([unistd.h asm/unistd.h])
+AC_CHECK_HEADERS([arpa/inet.h locale.h netdb.h netinet/in.h])
+AC_CHECK_HEADERS([sys/ioctl.h sys/socket.h sys/statfs.h sys/time.h utime.h])
+
+# pointless Checks for typedefs, structures, and compiler characteristics.
+AC_CHECK_HEADER_STDBOOL
+AC_C_INLINE
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_INT64_T
+AC_TYPE_INT8_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_CHECK_MEMBERS([struct stat.st_blksize])
+AC_STRUCT_ST_BLOCKS
+AC_CHECK_MEMBERS([struct stat.st_rdev])
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT64_T
+AC_TYPE_UINT8_T
+
+# pointless Checks for library functions.
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_FORK
+AC_FUNC_FSEEKO
+AC_FUNC_MALLOC
+AC_FUNC_MKTIME
+AC_FUNC_MMAP
+AC_FUNC_REALLOC
+AC_FUNC_STRERROR_R
+AC_FUNC_STRTOD
+AC_CHECK_FUNCS([bzero floor getcwd gethostbyname gettimeofday inet_ntoa localtime_r])
+AC_CHECK_FUNCS([memmove memset mkdir modf munmap nl_langinfo pow putenv rint rmdir])
+AC_CHECK_FUNCS([select setenv setlocale socket sqrt])
+AC_CHECK_FUNCS([strcasecmp strchr strdup strerror strncasecmp strrchr strstr strtol strtoul])
+AC_CHECK_FUNCS([tzset uname utime])
+#end speed up
+fi
+
+OBJDIR=`uname -m`
+AC_SUBST(OBJDIR)
+
+echo "AC_HELP_STRING([Reason],[Package])"
+echo "AC_HELP_STRING([------],[-------])"
+
+AC_DEFUN([PKG_SHARED],[
+ BUILD_$1=0
+ AC_SUBST(BUILD_$1)
+ SHARED_LIBS+="$SHARED_$1"
+ echo "AC_HELP_STRING([shared],[$1])"
+])
+AC_DEFUN([PKG_STATIC],[
+ BUILD_$1=1
+ AC_SUBST(BUILD_$1)
+ STATIC_BLDS+=" [$1]"
+ echo "AC_HELP_STRING([$2],[$1])"
+])
+AC_DEFUN([PKG_FORCED],[PKG_STATIC([$1],[forced])])
+
+AC_DEFUN([PKG_PROVIDE],[
+if test "x$BUILD_$1" = "x" ; then
+ if test "x$2" = "xno"; then
+ BUILD_$1=0
+ AC_SUBST(BUILD_$1)
+ elif test "x$PKG_$1" = "xyes"; then
+ PKG_FORCED([$1])
+ elif test "x$PKG_$1" = "xno"; then
+ if test "x$WANT_FORCED_BUILD" = "xyes"; then
+ BUILD_$1=0
+ AC_SUBST(BUILD_$1)
+ elif test "x$HAVE_$1" = "xyes"; then
+ PKG_SHARED([$1])
+ else
+ AC_MSG_ERROR([$1 missing and required.])
+ fi
+ elif test "x$WANT_STATIC_BUILD" = "xyes"; then
+ PKG_STATIC([$1],[static])
+ elif test "x$HAVE_$1" = "xyes"; then
+ PKG_SHARED([$1])
+ else
+ PKG_STATIC([$1],[needed])
+ fi
+fi
+])
+
+PKG_PROVIDE([a52dec])
+PKG_PROVIDE([encore])
+PKG_PROVIDE([audiofile],[$WANT_ESOUND])
+PKG_PROVIDE([esound],[$WANT_ESOUND])
+PKG_PROVIDE([faac])
+PKG_PROVIDE([faad2])
+PKG_PROVIDE([fdk])
+PKG_PROVIDE([ffmpeg])
+PKG_PROVIDE([fftw])
+PKG_PROVIDE([flac])
+PKG_PROVIDE([giflib])
+PKG_PROVIDE([ilmbase])
+PKG_PROVIDE([ladspa])
+PKG_PROVIDE([lame])
+PKG_PROVIDE([libavc1394],[$WANT_FIREWIRE])
+PKG_PROVIDE([libraw1394],[$WANT_FIREWIRE])
+PKG_PROVIDE([libiec61883],[$WANT_FIREWIRE])
+PKG_PROVIDE([libdv],[$WANT_DV])
+PKG_PROVIDE([libjpeg])
+PKG_PROVIDE([libogg])
+PKG_PROVIDE([libsndfile])
+PKG_PROVIDE([libtheora])
+PKG_PROVIDE([libuuid])
+PKG_PROVIDE([libvorbis])
+PKG_PROVIDE([mjpegtools])
+PKG_PROVIDE([openexr])
+PKG_PROVIDE([openjpeg])
+PKG_PROVIDE([tiff])
+PKG_PROVIDE([twolame])
+PKG_PROVIDE([x264])
+PKG_PROVIDE([x265])
+PKG_PROVIDE([libvpx])
+
+AC_SUBST(STATIC_BLDS)
+AC_SUBST(SHARED_LIBS)
+
+for f in $SYSTEM_LIBS; do
+ echo "AC_HELP_STRING([system],[$f])"
+done
+AC_SUBST(SYSTEM_LIBS)
+
+echo " using: with-jobs = $WANT_JOBS"
+for v in GL XFT XXF86VM OSS ALSA FIREWIRE DV DVB VIDEO4LINUX2 ESOUND; do
+ eval vv="\$WANT_$v"
+ if test "x$vv" != "xno"; then
+ CFLAGS+=" -DHAVE_$v"
+ vv=with
+ else
+ vv=without
+ fi
+ v=`echo "$v" | tr "A-Z" "a-z"`
+ echo " using: $vv-$v"
+done
+
+# build extras
+if test "x$HAVE_NUMA" = "xyes"; then
+ EXTRA_LIBS+=' -lnuma'
+fi
+if test "x$HAVE_DL" = "xyes"; then
+ EXTRA_LIBS+=' -ldl'
+ FFMPEG_EXTRA_CFG+=' --extra-ldflags="-ldl"'
+fi
+AC_SUBST(EXTRA_LIBS)
+AC_SUBST(FFMPEG_EXTRA_CFG)
+AC_SUBST(WANT_X264_HIDEPTH)
+AC_SUBST(WANT_X265_HIDEPTH)
+
+if test "x$BUILD_openexr" = "x0"; then
+ CFLAGS+=" -I/usr/include/OpenEXR"
+fi
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+
+exec > global_config
+
+echo "SHELL := /bin/bash"
+echo "export SHELL"
+echo ""
+echo "OBJDIR := $OBJDIR"
+echo "BINDIR := \$(TOPDIR)/bin"
+echo "CINELERRA := \$(TOPDIR)/cinelerra"
+echo "GUICAST := \$(TOPDIR)/guicast"
+echo "LIBZMPEG3 := \$(TOPDIR)/libzmpeg3"
+echo "MPEG2ENC := \$(TOPDIR)/mpeg2enc"
+echo "MPLEXLO := \$(TOPDIR)/mplexlo"
+echo "PLUGIN_DIR := \$(BINDIR)/plugins"
+echo "PLUGINS := \$(TOPDIR)/plugins"
+echo "TDB := \$(TOPDIR)/db"
+echo "THIRDPARTY := \$(TOPDIR)/thirdparty"
+echo "EXTRA_LIBS := $EXTRA_LIBS"
+echo "FFMPEG_EXTRA_CFG := $FFMPEG_EXTRA_CFG"
+echo "export OBJDIR BINDIR CINELERRA GUICAST LIBZMPEG3"
+echo "export MPEG2ENC MPLEXLO PLUGIN_DIR PLUGINS TDB"
+echo "export THIRDPARTY EXTRA_LIBS FFMPEG_EXTRA_CFG"
+echo ""
+echo "WANT_X264_HIDEPTH := $WANT_X264_HIDEPTH"
+echo "WANT_X265_HIDEPTH := $WANT_X265_HIDEPTH"
+echo "export WANT_X264_HIDEPTH WANT_X265_HIDEPTH"
+echo ""
+
+for flg in $CFLAGS; do echo "CFLAGS += $flg"; done
+echo ""
+for flg in $CXXFLAGS; do echo "CXXFLAGS += $flg"; done
+echo ""
+echo "export CFLAGS CXXFLAGS"
+
+if test $WANT_X264_HIDEPTH = "yes" ; then
+ echo "x264.cfg_params:= --enable-static --bit-depth=10"
+fi
+if test $WANT_X265_HIDEPTH = "yes" ; then
+ echo "x265.cfg_params:= -DENABLE_SHARED=no -DHIGH_BIT_DEPTH:BOOL=ON"
+fi
+
+for pkg in $STATIC_PKGS; do echo "static_pkgs += $pkg"; done
+echo ""
+for pkg in $STATIC_BLDS; do
+ echo "static_blds += $pkg"
+ ver_pkg=ver_$pkg
+ echo "$ver_pkg := \$(THIRDPARTY)/${!ver_pkg}"
+ inc_pkg=inc_$pkg
+ echo "$inc_pkg := \\"
+ for inc in ${!inc_pkg}; do
+ echo " -I\$($ver_pkg)/$inc \\"
+ done
+ echo ""
+ echo "static_incs += \$(inc_$pkg)"
+ lib_pkg=lib_$pkg
+ echo "$lib_pkg := \\"
+ for lib in ${!lib_pkg}; do
+ echo " \$($ver_pkg)/$lib \\"
+ done
+ echo ""
+ echo "static_libs += \$($lib_pkg)"
+ echo ""
+done
+echo ""
+
+for lib in $SHARED_LIBS; do echo "shared_libs += $lib"; done
+echo ""
+for lib in $SYSTEM_LIBS; do echo "system_libs += $lib"; done
+echo "export static_pkgs static_blds shared_libs system_libs"
+echo ""
+
+echo "thirdparty_libraries := \$(static_libs) \$(shared_libs)"
+echo "libraries += -Wl,--start-group"
+echo "libraries += \$(thirdparty_libraries)"
+echo "libraries += \$(system_libs)"
+echo "libraries += \$(EXTRA_LIBS)"
+echo "libraries += -Wl,--end-group"
+# -Wl,--start-group ... -Wl,--end-group does not work on ubuntu
+echo "libraries += \$(thirdparty_libraries)"
+echo "libraries += \$(system_libs)"
+echo "libraries += \$(EXTRA_LIBS)"
+echo "export thirdparty_libraries libraries"
+echo ""
+TOPDIR ?= $(CURDIR)/..
+export TOPDIR
+include $(TOPDIR)/global_config
-ifeq ($(origin CFLAGS), environment)
-HAVE_CFLAGS := y
-else
-HAVE_CFLAGS := n
-endif
-
-OBJDIR := $(shell uname -m)
-$(shell mkdir -p $(OBJDIR) )
-
-ifneq ($(HAVE_CFLAGS), y)
- #CFLAGS := -O2 -fno-omit-frame-pointer
- CFLAGS := -fno-omit-frame-pointer
-endif
-
-ifeq ($(OBJDIR), i686)
- CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-endif
-
-ifeq ($(OBJDIR), x86_64)
- CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-endif
-
-CXXFLAGS := -pthread -Wall -ggdb -I.. $(CFLAGS)
-LDFLAGS := -pthread
+$(shell mkdir -p $(OBJDIR))
LIBS := $(OBJDIR)/db.a ../libzmpeg3/$(OBJDIR)/libzmpeg3.a -lasound -lm -lX11
OUTPUT := $(OBJDIR)/db.a s.C
make -C utils clean
rm -rf a.out s.C tags $(OBJDIR)
+.PHONY: install
+install:
OBJECTS := \
$(OBJDIR)/tdb.o \
-
-OBJDIR := $(shell uname -m)
-
-TOPDIR=../..
+TOPDIR ?= $(CURDIR)/../..
+export TOPDIR
include $(TOPDIR)/global_config
-include $(THIRDPARTY)/config.mak
+
+$(shell mkdir -p $(OBJDIR))
CXXFLAGS:=-ggdb -I.. -Wall $(CFLAGS)
LDLIBS:=../$(OBJDIR)/db.a
$(CXX) $(CXXFLAGS) $(LDFLAGS) dbtv.C $(LDLIBS) -lX11 -o $@
XTV_MEDIA_OBJS := $(TOPDIR)/cinelerra/$(OBJDIR)/mediadb.o $(TOPDIR)/cinelerra/$(OBJDIR)/filexml.o
+
XTV_LIBS := $(TOPDIR)/libzmpeg3/$(OBJDIR)/libzmpeg3.a
XTV_LIBS += $(TOPDIR)/db/$(OBJDIR)/db.a
-XTV_LIBS += -Wl,--start-group $(thirdparty_libraries) -Wl,--end-group
-XTV_LIBS += -lX11 -lXext -lasound -lm $(EXTRA_LIBS)
+XTV_LIBS += $(libraries)
+
XTV_INCLUDES := -I$(TOPDIR) -I$(TOPDIR)/guicast
-XTV_INCLUDES += $(static_includes)
+XTV_INCLUDES += $(static_incs)
xtv: xtv.C $(XTV_MEDIA_OBJS)
@echo c++ -pthread $(CXXFLAGS) xtv.C $(XTV_MEDIA_OBJS) -o xtv
-TARGET_DIR := ../bin/doc
+TOPDIR ?= $(CURDIR)/..
+export TOPDIR
+include $(TOPDIR)/global_config
+
+TARGET_DIR := $(BINDIR)/doc
IMAGES = \
arrow.png \
ibeam.png \
left_justify.png \
loadmode_cat.png \
- loadmode_new.png \
loadmode_nested.png \
loadmode_newcat.png \
+ loadmode_new.png \
loadmode_newtracks.png \
loadmode_none.png \
loadmode_paste.png \
mask.png \
mutepatch_up.png \
paste.png \
+ picon.png \
projector.png \
protect.png \
- record.png \
recordpatch.png \
+ record.png \
rewind.png \
- singleframe.png \
show_meters.png \
+ singleframe.png \
titlesafe.png \
toolwindow.png \
top_justify.png \
wrench.png \
- magnify.png
+
+OUTPUT := cinelerra.html
+
+all: $(OUTPUT)
$(OUTPUT):
- cinelerra.html
-
-all:
- for i in $(IMAGES) ; \
- do if ! test -e $$i ; \
- then cp -a ../plugins/theme_suv/data/$$i . ; \
- fi ; \
- done
+ tar -C ../plugins/theme_suv/data/ -cf - $(IMAGES) | tar -xkf -
makeinfo --html --no-split cinelerra.texi
# makeinfo --html cinelerra.texi
install:
mkdir -p $(TARGET_DIR)
- cp $(IMAGES) $(TARGET_DIR)
- cp cinelerra.html $(TARGET_DIR)
+ cp -a *.png $(TARGET_DIR)/.
+ cp -a cinelerra.html $(TARGET_DIR)/.
+ cp -a manual.pdf $(TARGET_DIR)/.
+ cp -a Features5.pdf $(TARGET_DIR)/.
clean:
rm -f $(IMAGES) $(OUTPUT)
+
+++ /dev/null
-SHELL := /bin/bash
-
-# not probed
-HAVE_ALSA := y
-HAVE_DV := y
-HAVE_ESOUND := y
-HAVE_FIREWIRE := y
-HAVE_OSS := y
-HAVE_XFT := y
-HAVE_VIDEO4LINUX := n
-# build thirdparty ladspa
-HAVE_LADSPA := y
-
-#thirdparty configure tweaks, uncomment for overrides
-# x264 hi depth
-#x264.cfg_params:= --enable-static --bit-depth=10
-# x265 hi depth
-#x265.cfg_params:= -DENABLE_SHARED=no -DHIGH_BIT_DEPTH:BOOL=ON
-
-# probed, uncomment and set to override probe
-#STATIC_LIBRARIES := y
-#HAVE_VIDEO4LINUX2 := y
-#HAVE_DVB := y
-#HAVE_GL := y
-#HAVE_DL := y
-#HAVE_NUMA := y
-#HAVE_PACTL := y
-
-OBJDIR := $(shell uname -m)
-
-GLOBAL_CONFIG := $(lastword $(wildcard ./global_config ../global_config ../../global_config))
-TOPDIR := $(dir $(GLOBAL_CONFIG))
-BINDIR := $(TOPDIR)/bin
-PLUGIN_DIR := $(BINDIR)/plugins
-# abs path
-THIRDPARTY := $(shell cd $(TOPDIR)/thirdparty; pwd)
-
-ifeq ($(origin CFLAGS), environment)
-HAVE_CFLAGS := y
-else
-HAVE_CFLAGS := n
-endif
-
-
-PREFIX = /usr/
-LIBPREFIX = $(PREFIX)/lib
-
-
-CC = g++
-GCC = gcc
-
-ifneq ($(HAVE_CFLAGS), y)
-CFLAGS = -O2 -g -fno-omit-frame-pointer
-CFLAGS += -pthread -fno-math-errno -fno-signed-zeros
-endif
-CFLAGS += -Wall
-
-ifeq ($(HAVE_GL), y)
-CFLAGS += -DHAVE_GL
-endif
-
-ifeq ($(HAVE_XFT), y)
-CFLAGS += -DHAVE_XFT
-endif
-
-ifeq ($(HAVE_ESOUND), y)
-CFLAGS += -DHAVE_ESOUND
-endif
-
-#CFLAGS += -g
-CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-
-# the directory for plugin includes
-#FREETYPE_DIR := $(shell expr $(THIRDPARTY)/freetype-* )
-FREETYPE_DIR := $(shell pkg-config --cflags freetype2 )
-CFLAGS += $(FREETYPE_DIR) -I$(TOPDIR)
-
-ifeq ($(HAVE_ALSA), y)
-CFLAGS += $(ALSA_CFLAGS)
-endif
-
-ifeq ($(HAVE_OSS), y)
-CFLAGS += -DHAVE_OSS
-endif
-
-ifeq ($(HAVE_DVB), y)
-CFLAGS += -DHAVE_DVB
-endif
-
-ifeq ($(HAVE_FIREWIRE), y)
-CFLAGS += -DHAVE_FIREWIRE
-endif
-
-ifeq ($(HAVE_VIDEO4LINUX), y)
-CFLAGS += -DHAVE_VIDEO4LINUX
-endif
-
-ifeq ($(HAVE_VIDEO4LINUX2), y)
-CFLAGS += -DHAVE_VIDEO4LINUX2
-endif
-
-ifeq ($(HAVE_DV), y)
-CFLAGS += -DHAVE_DV
-endif
-
-ifeq ($(HAVE_PACTL), y)
-CFLAGS += -DHAVE_PACTL
-endif
-
-ifeq ($(OBJDIR), alpha)
-CXXREPOSITORY = cxx_repository/*.o
-endif
-
-$(shell mkdir -p $(OBJDIR) )
-
-
-LFLAGS =
-LDLINKER = g++ -shared
-
-
-LOOP_BEGIN = @ for i in $(DIRS) ; \
- do \
-
-
-LOOP_END = done
-
-#EXTRA_LIBS += -L/usr/local/lib
-#CPATH = /usr/local/include
-
-ifeq ($(HAVE_DL), y)
-EXTRA_LIBS += -ldl
-EXTRA_FFMPEG_CFG += --extra-ldflags="-ldl"
-endif
-
-ifeq ($(HAVE_NUMA), y)
-EXTRA_LIBS += -lnuma
-endif
-
-CFLAGS += -D__STDC_CONSTANT_MACROS
-CFLAGS += -D__STDC_LIMIT_MACROS
-CFLAGS += -DPNG_SKIP_SETJMP_CHECK=1
-include ../global_config
-
-# must only define here so applications using libpng don't see any of the XFT
-# includes at all. They use a conflicting setjmp.
-ifeq ($(HAVE_XFT), y)
-CFLAGS += -DHAVE_XFT
-endif
+TOPDIR ?= $(CURDIR)/..
+export TOPDIR
+include $(TOPDIR)/global_config
ifeq ($(OBJDIR), i686)
BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B i386 -I binary -O elf32-i386\""
BOOTSTRAPFLAGS := -DBOOTSTRAP="\"objcopy -B i386 -I binary -O elf64-x86-64\""
endif
-
$(shell mkdir -p $(OBJDIR) )
OBJS = \
OUTPUT = $(OBJDIR)/libguicast.a
-TESTLIBS := \
- $(OUTPUT) \
- ../quicktime/$(OBJDIR)/libquicktime.a \
- $(LDFLAGS) \
- $(GLLIBS) \
- -lX11 \
- -lXext \
- -lXv \
- -lpthread \
- -lm \
- -lpng
-
-ifeq ($(HAVE_XFT), y)
-TESTLIBS += -lXft
-endif
-
-ifeq ($(HAVE_GL), y)
-TESTLIBS += -lGL -lGLU
-endif
-
UTILS = $(OBJDIR)/bootstrap $(OBJDIR)/pngtoh $(OBJDIR)/pngtoraw
+CFLAGS += -I/usr/include/freetype2
+
$(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
$(shell echo $(OBJS) > $(OBJDIR)/objs)
$(OBJDIR)/pngtoraw: pngtoraw.c
gcc -O2 pngtoraw.c -o $(OBJDIR)/pngtoraw -lpng -lz
-replace: replace.o $(OUTPUT)
- $(CC) -o replace replace.o $(OUTPUT) \
- ../quicktime/i686/libquicktime.a \
- $(LDFLAGS) $(XLIBS) -lpng
-
-# $(XXF86VM) \
-
-
-
-test: $(OBJDIR)/test.o $(STATICOUTPUT)
- $(CC) -o $(OBJDIR)/test \
- $(OBJDIR)/test.o \
- $(TESTLIBS)
-
-test2: $(OBJDIR)/test2.o $(STATICOUTPUT)
- $(CC) -o $(OBJDIR)/test2 \
- $(OBJDIR)/test2.o \
- $(TESTLIBS)
-
-test3: $(OBJDIR)/test3.o $(STATICOUTPUT)
- $(CC) -o $(OBJDIR)/test3 \
- $(OBJDIR)/test3.o \
- $(TESTLIBS)
-
clean:
rm -rf $(OBJDIR)
rm -f bcxfer.C
- find \( -name core \
- -o -name '*.o' -o -name '*.a' \
- -o -name '*.so' \) -exec rm -f {} \;
+
+install:
$(LIBOBJS) $(OBJS) $(CUTOBJ):
$(OBJDIR)/bootstrap: bootstrap.c
$(OBJDIR)/pngtoh: pngtoh.c
-$(OBJDIR)/bccmodel_default.o: bccmodel_default.C bccmodel_permutation.h
val-%:
@echo $($(subst val-,,$@))
#include "bcwindowbase.h"
#include "bcwindowevents.h"
#include "condition.h"
+#include "language.h"
#include "mutex.h"
#include <pthread.h>
// stop event input
XSelectInput(top_level->display, this->win, 0);
motion_events = resize_events = translation_events = 0;
+#ifndef SINGLE_THREAD
top_level->dequeue_events(win);
-
+#endif
if(top_level->active_menubar == this) top_level->active_menubar = 0;
if(top_level->active_popup_menu == this) top_level->active_popup_menu = 0;
if(top_level->active_subwindow == this) top_level->active_subwindow = 0;
int BC_WindowBase::send_custom_xatom(xatom_event *event)
{
+#ifndef SINGLE_THREAD
XEvent *myevent = new_xevent();
XClientMessageEvent *ptr = (XClientMessageEvent*)myevent;
ptr->type = ClientMessage;
ptr->data.l[4] = event->data.l[4];
put_event(myevent);
+#endif
return 0;
}
// it is deleted.
// Deletion of event_thread is done at the end of BC_WindowBase::run_window() - by calling the destructor
put_event(event);
- }
#endif
+ }
}
void BC_WindowBase::close(int return_value)
+TOPDIR ?= $(CURDIR)/..
+export TOPDIR
+include $(TOPDIR)/global_config
+
CC = gcc
NASM = nasm
USE_MMX ?= 0
USE_CSS ?= 1
DYNAMIC_FONTS ?= 1
-A52DIR := $(shell ls -d ../thirdparty/a52dec* ../../thirdparty/a52dec* 2> /dev/null)
-OBJDIR := $(shell uname -m)
-
-ifeq ("$(DST)", "")
-DST=/usr/bin
-endif
-
-ifeq ($(origin CFLAGS), environment)
-HAVE_CFLAGS := y
-else
-HAVE_CFLAGS := n
-endif
-
ifeq ($(OBJDIR), alpha)
ifneq ($(HAVE_CFLAGS), y)
endif
endif
-ifneq ($(HAVE_CFLAGS), y)
- #CFLAGS := -O2 -fomit-frame-pointer -I/usr/local/include
- CFLAGS := -O3 -ggdb -fno-omit-frame-pointer
- #CFLAGS += -falign-loops=2 -falign-jumps=2 -falign-functions=2
-endif
-
-ifeq ($(OBJDIR), i686)
- CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-endif
-
-ifeq ($(OBJDIR), x86_64)
- CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-endif
-
-ifeq ($(USE_CSS), 1)
- CFLAGS += -DHAVE_CSS
-endif
-
ifeq ($(USE_MMX), 1)
CFLAGS += -DHAVE_MMX
ASMOBJS = $(OBJDIR)/video/mmxidct.o
NASMOBJS = $(OBJDIR)/video/reconmmx.o
endif
-CFLAGS += -I. -I$(A52DIR)/include -I$(A52DIR)/liba52
+CFLAGS += -I. $(inc_a52dec)
CFLAGS += -Wall
OBJS = \
$(OBJDIR)/video
OUTPUT = $(OBJDIR)/libzmpeg3.a
-UTILS := $(OBJDIR)/mpeg3dump
-UTILS += $(OBJDIR)/mpeg3peek
UTILS += $(OBJDIR)/mpeg3toc
UTILS += $(OBJDIR)/mpeg3show
UTILS += $(OBJDIR)/mpeg3cat
-UTILS += $(OBJDIR)/mpeg31trkpony
UTILS += $(OBJDIR)/mpeg3ifochk
UTILS += $(OBJDIR)/mpeg3cc2txt
LIBS = -lm -lpthread
-LIBS += $(A52DIR)/liba52/.libs/liba52.a
+LIBS += $(lib_a52dec)
ifeq ($(DYNAMIC_FONTS), 1)
LIBS += -lX11
$(shell echo $(OBJS) $(ASMOBJS) $(NASMOBJS) > $(OBJDIR)/objs)
$(shell mkdir -p $(DIRS) )
-all: $(OUTPUT) $(UTILS) $(TAGS)
-#all: $(OUTPUT) $(TAGS) b.out
+all: $(OUTPUT) $(UTILS)
xfont1.C: xfont.C
$(CXX) `cat $(OBJDIR)/c_flags` -DWRITE_FONT_DATA -o $(OBJDIR)/xfont xfont.C \
b.out: y.C $(OUTPUT)
$(CXX) `pkg-config --cflags --libs gtk+-2.0` y.C ./$(OBJDIR)/libzmpeg3.a \
- $(CFLAGS) -lpthread -lasound -lm -O0 -g -o b.out $(LIBS)
+ $(CFLAGS) -O0 -g -o b.out -lasound $(LIBS)
$(OUTPUT): $(OBJS) $(ASMOBJS) $(NASMOBJS)
ar rcs $(OUTPUT) `cat $(OBJDIR)/objs`
mpeg3% $(OBJDIR)/mpeg3%: $(OUTPUT) mpeg3%.C
$(CXX) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/$(notdir $@) $(notdir $@).C $(OUTPUT) $(LIBS)
-
-#$(OBJDIR)/mpeg2qt: $(OUTPUT)
-# $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg2qt mpeg2qt.c \
-# $(OUTPUT) $(LIBS) -I. -I../quicktime \
-# ../quicktime/$(OBJDIR)/libquicktime.a \
-# -lpng -lz -ldl
-
-$(TAGS):
+tags:
ctags -R .
install:
- cp $(UTILS) $(DST)
+ cp $(UTILS) $(BINDIR)/.
clean:
- rm -rf $(OBJDIR) $(TAGS)
-
-backup: clean
- cd .. && \
- tar -zcf libzmpeg3.tar.gz libmpeg3
-
-wc:
- cat *.c *.h audio/*.c audio/*.h video/*.c video/*.h | wc
+ rm -rf $(OBJDIR) tags
$(OBJS):
$(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.C) -o $*.o
$(NASMOBJS):
$(NASM) -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
-$(OBJDIR)/libzmpeg3.o: libzmpeg3.C
-$(OBJDIR)/atrack.o: atrack.C
-$(OBJDIR)/bits.o: bits.C
-$(OBJDIR)/css.o: css.C
-$(OBJDIR)/demux.o: demux.C
-$(OBJDIR)/ifo.o: ifo.C
-$(OBJDIR)/zio.o: zio.C
-$(OBJDIR)/dvb.o: dvb.C
-$(OBJDIR)/huf.o: huf.C
-$(OBJDIR)/xfont.o: xfont.C
-$(OBJDIR)/xfont1.o: xfont1.C
-$(OBJDIR)/strack.o: strack.C
-$(OBJDIR)/title.o: title.C
-$(OBJDIR)/mpeg3toc.o: mpeg3toc.C
-$(OBJDIR)/mpeg3show.o: mpeg3show.C
-$(OBJDIR)/mpeg3dump.o: mpeg3dump.C
-$(OBJDIR)/mpeg3cat.o: mpeg3cat.C
-$(OBJDIR)/mpeg31trkpony.o: mpeg31trkpony.C
-$(OBJDIR)/mpeg3peek.o: mpeg3peek.C
-$(OBJDIR)/toc.o: toc.C
-$(OBJDIR)/mpeg3.o: mpeg3.C
-$(OBJDIR)/vtrack.o: vtrack.C
-$(OBJDIR)/audio/ac3.o: audio/ac3.C
-$(OBJDIR)/audio/bit_allocation.o: audio/bit_allocation.C
-$(OBJDIR)/audio/dct.o: audio/dct.C
-#$(OBJDIR)/audio/exponents.o: audio/exponents.c
-#$(OBJDIR)/audio/header.o: audio/header.c
-$(OBJDIR)/audio/huffman.o: audio/huffman.C
-$(OBJDIR)/audio/layer2.o: audio/layer2.C
-$(OBJDIR)/audio/layer3.o: audio/layer3.C
-#$(OBJDIR)/audio/mantissa.o: audio/mantissa.c
-$(OBJDIR)/audio/audio.o: audio/audio.C
-$(OBJDIR)/audio/pcm.o: audio/pcm.C
-$(OBJDIR)/audio/synthesizers.o: audio/synthesizers.C
-$(OBJDIR)/audio/tables.o: audio/tables.C
-$(OBJDIR)/video/getpicture.o: video/getpicture.C
-$(OBJDIR)/video/headers.o: video/headers.C
-$(OBJDIR)/video/idct.o: video/idct.C
-$(OBJDIR)/video/macroblocks.o: video/macroblocks.C
-$(OBJDIR)/video/mmxtest.o: video/mmxtest.C
-$(OBJDIR)/video/motion.o: video/motion.C
-$(OBJDIR)/video/cache.o: video/cache.C
-$(OBJDIR)/video/video.o: video/video.C
-$(OBJDIR)/video/output.o: video/output.C
-$(OBJDIR)/video/reconstruct.o: video/reconstruct.C
-$(OBJDIR)/video/seek.o: video/seek.C
-$(OBJDIR)/video/slice.o: video/slice.C
-$(OBJDIR)/video/subtitle.o: video/subtitle.C
-$(OBJDIR)/video/cc.o: video/cc.C
-$(OBJDIR)/video/vlc.o: video/vlc.C
-#$(OBJDIR)/workarounds.o: workarounds.c
-
+$(OBJDIR)/%.o: %.C
+$(OBJDIR)/audio/%.o: audio/%.C
+$(OBJDIR)/video/%.o: video/%.C
+++ /dev/null
-A52DIR := $(shell expr a52dec* )
-
-A52DIRS := \
- $(OBJDIR)/$(A52DIR)/liba52/ \
- $(OBJDIR)/$(A52DIR)/libao/ \
- $(OBJDIR)/$(A52DIR)/src/ \
- $(OBJDIR)/$(A52DIR)/test/
-
-
-A52OBJS := \
- $(OBJDIR)/$(A52DIR)/liba52/bit_allocate.o \
- $(OBJDIR)/$(A52DIR)/liba52/bitstream.o \
- $(OBJDIR)/$(A52DIR)/liba52/downmix.o \
- $(OBJDIR)/$(A52DIR)/liba52/imdct.o \
- $(OBJDIR)/$(A52DIR)/liba52/parse.o \
- $(OBJDIR)/$(A52DIR)/libao/audio_out_aif.o \
- $(OBJDIR)/$(A52DIR)/libao/audio_out_float.o \
- $(OBJDIR)/$(A52DIR)/libao/audio_out_null.o \
- $(OBJDIR)/$(A52DIR)/libao/audio_out.o \
- $(OBJDIR)/$(A52DIR)/libao/audio_out_oss.o \
- $(OBJDIR)/$(A52DIR)/libao/audio_out_solaris.o \
- $(OBJDIR)/$(A52DIR)/libao/audio_out_wav.o \
- $(OBJDIR)/$(A52DIR)/libao/float2s16.o \
- $(OBJDIR)/$(A52DIR)/src/getopt.o \
- $(OBJDIR)/$(A52DIR)/test/compare.o
-
-A52CFLAGS = \
- $(CFLAGS) \
- -DHAVE_CONFIG_H \
- -I$(A52DIR)/ \
- -I$(A52DIR)/include \
- -I$(A52DIR)/liba52 \
- -I$(A52DIR)/libao \
- -I$(A52DIR)/src
-
+++ /dev/null
-CC = gcc
-NASM = nasm
-USE_MMX = 0
-USE_CSS = 1
-A52DIR := $(shell expr a52dec* )
-
-
-ifeq ("$(DST)", "")
-DST=/usr/bin
-endif
-
-ifeq ($(origin CFLAGS), environment)
-HAVE_CFLAGS := y
-else
-HAVE_CFLAGS := n
-endif
-
-
-OBJDIR := $(shell uname --machine)
-
-
-
-
-ifeq ($(OBJDIR), alpha)
- USE_MMX = 0
- ifneq ($(HAVE_CFLAGS), y)
- CFLAGS := -O4 -arch ev67 -ieee -accept c99_keywords -gcc_messages
- endif
-endif
-
-ifeq ($(OBJDIR), i686)
- USE_MMX = 1
- ifneq ($(HAVE_CFLAGS), y)
- CFLAGS := -O2 -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -I/usr/local/include
- endif
- CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-endif
-
-ifeq ($(OBJDIR), x86_64)
- ifneq ($(HAVE_CFLAGS), y)
- CFLAGS := -O2 -fomit-frame-pointer -I/usr/local/include
- endif
- CFLAGS += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-
-
-endif
-
-
-
-ifeq ($(USE_CSS), 1)
- CFLAGS += -DHAVE_CSS
-endif
-
-ifeq ($(USE_MMX), 1)
- CFLAGS += -DHAVE_MMX
- ASMOBJS = $(OBJDIR)/video/mmxidct.o
- NASMOBJS = $(OBJDIR)/video/reconmmx.o
-endif
-
-
-
-
-
-
-CFLAGS += \
- -I. \
- -I$(A52DIR)/include \
- -I$(A52DIR)/liba52
-
-
-
-CFLAGS += -g
-
-
-
-
-
-
-
-
-
-
-OBJS = \
- $(OBJDIR)/audio/ac3.o \
- $(OBJDIR)/audio/dct.o \
- $(OBJDIR)/audio/huffman.o \
- $(OBJDIR)/audio/layer2.o \
- $(OBJDIR)/audio/layer3.o \
- $(OBJDIR)/audio/mpeg3audio.o \
- $(OBJDIR)/audio/pcm.o \
- $(OBJDIR)/audio/synthesizers.o \
- $(OBJDIR)/audio/tables.o \
- $(OBJDIR)/libmpeg3.o \
- $(OBJDIR)/mpeg3atrack.o \
- $(OBJDIR)/mpeg3bits.o \
- $(OBJDIR)/mpeg3css.o \
- $(OBJDIR)/mpeg3demux.o \
- $(OBJDIR)/mpeg3ifo.o \
- $(OBJDIR)/mpeg3io.o \
- $(OBJDIR)/mpeg3strack.o \
- $(OBJDIR)/mpeg3title.o \
- $(OBJDIR)/mpeg3tocutil.o \
- $(OBJDIR)/mpeg3vtrack.o \
- $(OBJDIR)/video/getpicture.o \
- $(OBJDIR)/video/headers.o \
- $(OBJDIR)/video/idct.o \
- $(OBJDIR)/video/macroblocks.o \
- $(OBJDIR)/video/mmxtest.o \
- $(OBJDIR)/video/motion.o \
- $(OBJDIR)/video/mpeg3cache.o \
- $(OBJDIR)/video/mpeg3video.o \
- $(OBJDIR)/video/output.o \
- $(OBJDIR)/video/reconstruct.o \
- $(OBJDIR)/video/seek.o \
- $(OBJDIR)/video/slice.o \
- $(OBJDIR)/video/subtitle.o \
- $(OBJDIR)/video/vlc.o \
- $(OBJDIR)/workarounds.o
-
-#OBJS = \
-# $(OBJDIR)/audio/ac3.o \
-# $(OBJDIR)/audio/bit_allocation.o \
-# $(OBJDIR)/audio/exponents.o \
-# $(OBJDIR)/audio/header.o \
-# $(OBJDIR)/audio/huffman.o \
-# $(OBJDIR)/audio/layer2.o \
-# $(OBJDIR)/audio/layer3.o \
-# $(OBJDIR)/audio/mantissa.o \
-# $(OBJDIR)/audio/pcm.o \
-# $(OBJDIR)/audio/tables.o \
-
-
-
-
-DIRS := \
- $(OBJDIR)/audio \
- $(OBJDIR)/video
-
-include Makefile.a52
-
-DIRS += $(A52DIRS)
-
-
-OUTPUT = $(OBJDIR)/libmpeg3.a
-UTILS = $(OBJDIR)/mpeg3dump $(OBJDIR)/mpeg3peek $(OBJDIR)/mpeg3toc $(OBJDIR)/mpeg3cat
-
-#$(OBJDIR)/mpeg3split
-
-
-LIBS = -lm -lpthread
-
-$(shell mkdir -p $(OBJDIR) )
-
-$(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
-$(shell echo $(A52CFLAGS) > $(OBJDIR)/a52_flags)
-$(shell echo $(OBJS) $(ASMOBJS) $(A52OBJS) $(NASMOBJS) > $(OBJDIR)/objs)
-$(shell mkdir -p $(DIRS) )
-
-all: $(OUTPUT) $(UTILS)
-
-
-$(OUTPUT): $(OBJS) $(ASMOBJS) $(NASMOBJS) $(A52OBJS)
- ar rcs $(OUTPUT) `cat $(OBJDIR)/objs`
-
-
-
-$(OBJDIR)/mpeg3dump: $(OUTPUT) mpeg3dump.c
- $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3dump mpeg3dump.c $(OUTPUT) $(LIBS)
-
-$(OBJDIR)/mpeg3peek: $(OUTPUT) mpeg3peek.c
- $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3peek mpeg3peek.c $(OUTPUT) $(LIBS)
-
-$(OBJDIR)/mpeg3toc: $(OUTPUT) mpeg3toc.c
- $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3toc mpeg3toc.c $(OUTPUT) $(LIBS)
-
-$(OBJDIR)/mpeg3cat: $(OUTPUT) mpeg3cat.c
- $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3cat mpeg3cat.c $(OUTPUT) $(LIBS)
-
-#$(OBJDIR)/mpeg3split: $(OUTPUT)
-# $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg3split mpeg3split.c $(OUTPUT) $(LIBS)
-
-$(OBJDIR)/mpeg2qt: $(OUTPUT)
- $(CC) `cat $(OBJDIR)/c_flags` -o $(OBJDIR)/mpeg2qt mpeg2qt.c \
- $(OUTPUT) \
- $(LIBS) \
- -I. \
- -I../quicktime \
- ../quicktime/$(OBJDIR)/libquicktime.a \
- -lpng \
- -lz \
- -ldl
-
-install:
- cp $(UTILS) $(DST)
-
-clean:
- rm -rf $(OBJDIR)
-
-backup: clean
- cd .. && \
- tar zcf libmpeg3.tar.gz libmpeg3
-
-wc:
- cat *.c *.h audio/*.c audio/*.h video/*.c video/*.h | wc
-
-$(OBJS):
- $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
-$(ASMOBJS):
- $(CC) -c `cat $(OBJDIR)/c_flags` $(subst $(OBJDIR)/,, $*.S) -o $*.o
-$(NASMOBJS):
- $(NASM) -f elf $(subst $(OBJDIR)/,, $*.s) -o $*.o
-$(A52OBJS):
- $(CC) -c `cat $(OBJDIR)/a52_flags` $(subst $(OBJDIR)/,, $*.c) -o $*.o
-
-$(OBJDIR)/libmpeg3.o: libmpeg3.c
-$(OBJDIR)/mpeg3atrack.o: mpeg3atrack.c
-$(OBJDIR)/mpeg3bits.o: mpeg3bits.c
-$(OBJDIR)/mpeg3css.o: mpeg3css.c
-$(OBJDIR)/mpeg3demux.o: mpeg3demux.c
-$(OBJDIR)/mpeg3dump.o: mpeg3dump.c
-$(OBJDIR)/mpeg3ifo.o: mpeg3ifo.c
-$(OBJDIR)/mpeg3io.o: mpeg3io.c
-$(OBJDIR)/mpeg3strack.o: mpeg3strack.c
-$(OBJDIR)/mpeg3title.o: mpeg3title.c
-$(OBJDIR)/mpeg3toc3.o: mpeg3toc3.c
-$(OBJDIR)/mpeg3toc.o: mpeg3toc.c
-$(OBJDIR)/mpeg3tocutil.o: mpeg3tocutil.c
-$(OBJDIR)/mpeg3vtrack.o: mpeg3vtrack.c
-$(OBJDIR)/audio/ac3.o: audio/ac3.c
-$(OBJDIR)/audio/bit_allocation.o: audio/bit_allocation.c
-$(OBJDIR)/audio/dct.o: audio/dct.c
-$(OBJDIR)/audio/exponents.o: audio/exponents.c
-$(OBJDIR)/audio/header.o: audio/header.c
-$(OBJDIR)/audio/huffman.o: audio/huffman.c
-$(OBJDIR)/audio/layer2.o: audio/layer2.c
-$(OBJDIR)/audio/layer3.o: audio/layer3.c
-$(OBJDIR)/audio/mantissa.o: audio/mantissa.c
-$(OBJDIR)/audio/mpeg3audio.o: audio/mpeg3audio.c
-$(OBJDIR)/audio/pcm.o: audio/pcm.c
-$(OBJDIR)/audio/synthesizers.o: audio/synthesizers.c
-$(OBJDIR)/audio/tables.o: audio/tables.c
-$(OBJDIR)/video/getpicture.o: video/getpicture.c
-$(OBJDIR)/video/headers.o: video/headers.c
-$(OBJDIR)/video/idct.o: video/idct.c
-$(OBJDIR)/video/macroblocks.o: video/macroblocks.c
-$(OBJDIR)/video/mmxtest.o: video/mmxtest.c
-$(OBJDIR)/video/motion.o: video/motion.c
-$(OBJDIR)/video/mpeg3cache.o: video/mpeg3cache.c
-$(OBJDIR)/video/mpeg3video.o: video/mpeg3video.c
-$(OBJDIR)/video/output.o: video/output.c
-$(OBJDIR)/video/reconstruct.o: video/reconstruct.c
-$(OBJDIR)/video/seek.o: video/seek.c
-$(OBJDIR)/video/slice.o: video/slice.c
-$(OBJDIR)/video/subtitle.o: video/subtitle.c
-$(OBJDIR)/video/vlc.o: video/vlc.c
-$(OBJDIR)/workarounds.o: workarounds.c
-
-
-
-include depend.a52
+++ /dev/null
-#!/bin/sh
-
-# configuration is being done in a script because starting with GCC-3.2
-# the compiler flags are changing too much between minor releases to detect
-# with Makefile scripts alone. For now it just tells you if you have the
-# prerequisite compilers.
-
-ERROR=0
-
-# test for nasm
-
-if [ `uname -m` = i686 ];
-then
-
- if [ -x /usr/bin/nasm -o -x /usr/local/bin/nasm ]; then HAVE_NASM=y; else HAVE_NASM=n; fi
-
- if [ $HAVE_NASM = n ];
- then echo " *** Nasm is required. Download it from nasm.sourceforge.net";
- ERROR=1
- fi
-
-fi
-
-if [ $ERROR -ne 0 ]; then
- exit 1
-fi
-
-include ../global_config
-include $(THIRDPARTY)/config.mak
+TOPDIR ?= $(CURDIR)/..
+export TOPDIR
+include $(TOPDIR)/global_config
CC = gcc
-CFLAGS += -I../libzmpeg3
+CFLAGS += -I$(TOPDIR)/libzmpeg3
ifeq ($(OBJDIR), i686)
CFLAGS += -DX86_CPU
$(OBJDIR)/stats.o \
$(OBJDIR)/writepic.o
-LIBS = \
- ../libzmpeg3/$(OBJDIR)/libzmpeg3.a \
- $(thirdparty_libraries) $(static_libraries) \
- -lasound \
- -lpthread \
- -lpng \
- -ljpeg \
- -lX11 \
- -lz \
- -llzma \
- -lbz2 \
- -lm \
- -ldl \
-
-LIBS += -Wl,--start-group $(thirdparty_libraries) -Wl,--end-group
-LIBS += $(EXTRA_LIBS)
+LIBS := $(LIBZMPEG3)/$(OBJDIR)/libzmpeg3.a
+LIBS += $(libraries)
HVEG2LIB = $(OBJDIR)/hveg2enc.a
HVEG2ENC = $(OBJDIR)/hveg2enc
HVEG2ENC_G = $(OBJDIR)/hveg2enc_g
+$(shell mkdir -p $(OBJDIR))
$(shell echo $(CFLAGS) > $(OBJDIR)/c_flags)
$(shell echo $(HVEG2LIB) $(OBJ) $(NASMOBJ) $(ASMOBJ) > $(OBJDIR)/objs)
rm -rf $(OBJDIR)
install: $(OUTPUT)
- cp -a $(HVEG2LIB) ../bin/.
+ cp -a $(HVEG2ENC) $(BINDIR)/.
$(HVEG2LIB): $(OBJ) $(NASMOBJ) $(ASMOBJ)
ar rcs `cat $(OBJDIR)/objs`
-include ../global_config
-include $(THIRDPARTY)/config.mak
+TOPDIR ?= $(CURDIR)/..
+export TOPDIR
+include $(TOPDIR)/global_config
+$(shell mkdir -p $(OBJDIR))
OBJS = $(OBJDIR)/mplex.o
CC = gcc
-CFLAGS += -I../libzmpeg3
-CFLAGS += $(static_includes)
-LIBS += ../libzmpeg3/$(OBJDIR)/libzmpeg3.a
-LIBS += -Wl,--start-group $(thirdparty_libraries) -Wl,--end-group
-LIBS += -lpthread -lasound -lm -lX11 $(EXTRA_LIBS)
+
+CFLAGS += -I$(LIBZMPEG3)
+CFLAGS += $(static_incs)
+
+LIBS := $(LIBZMPEG3)/$(OBJDIR)/libzmpeg3.a
+LIBS += $(libraries)
OUTPUT := $(OBJDIR)/mplexlo
-$(OUTPUT): $(OBJS)
+$(OUTPUT) all: $(OBJS)
@echo $(CXX) -o $(OUTPUT) $(OBJS)
@$(CXX) -o $(OUTPUT) $(OBJS) $(LIBS)
$(CXX) -c $(CFLAGS) $(subst $(OBJDIR)/,, $*.c) -o $*.o
clean:
- find \( -name core \
- -o -name '*.o' \
- -o -name '*.a' \
- -o -name '*.so' \) -exec rm -f {} \;
rm -rf $(OBJDIR)
install:
- cp $(OUTPUT) /usr/bin
+ cp $(OUTPUT) $(BINDIR)/.
$(OBJDIR)/mplex.o: mplex.c
-include $(TOPDIR)/plugin_defs
+TOPDIR ?= $(CURDIR)/..
+export TOPDIR
+include $(TOPDIR)/global_config
CFLAGS += -I../ -I$(TOPDIR)/cinelerra \
-I$(TOPDIR)/guicast \
-I../colors \
-fPIC \
-include $(TOPDIR)/thirdparty/config.mak
-CFLAGS += $(static_includes)
-LFLAGS += $(static_libraries)
+CFLAGS += $(static_incs)
+LFLAGS += $(static_libs)
+LDLINKER ?= g++ -shared
+$(shell mkdir -p $(OBJDIR))
OUTPUT_DIR = $(PLUGIN_DIR)/$($(PLUGIN))
PLUGIN_PNGS = $(wildcard $(foreach t,$(themes),$(t).png)) picon.png
+TOPDIR ?= ../..
+export TOPDIR
+include $(TOPDIR)/global_config
plugin_dirs := themes
themes := theme_bright theme_suv theme_blond theme_blue theme_blue_dot \
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/1080to480.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/1080to540.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/720to480.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/c41.o \
-include ../global_config
+TOPDIR ?= $(CURDIR)/..
+include $(TOPDIR)/global_config
-ifeq ($(HAVE_DVB), y)
+ifeq ($(HAVE_DVB), yes)
LIVEDVB = liveaudio livevideo
endif
clean:
rm -rf $(foreach d,$(DIRS),$(d)/$(OBJDIR))
- rm -rf $(PLUGIN_DIR)
+ rm -rf $(PLUGIN_DIR) $(LADSPA)
install:
-
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/aging.o \
$(OBJDIR)/agingwindow.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/audioscope.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/bandslide.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/bandwipe.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/bluebanana.o
OBJS += $(OBJDIR)/bluebananaconfig.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/blur.o \
$(OBJDIR)/blurwindow.o
-CFLAGS += -g
-
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/blurzoom.o \
$(OBJDIR)/blurzoomwindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/brightness.o \
$(OBJDIR)/brightnesswindow.o
-#CFLAGS += -g
-
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/burn.o \
$(OBJDIR)/burnwindow.o \
-#########################################################
-# SAMPLERATE CONVERTER
-#########################################################
-
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/cdripper.o \
$(OBJDIR)/cdripwindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/chromakey.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN = chromakeyhsv
SHADER := $(OBJDIR)/chromakey_sl.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/color3way.o \
$(OBJDIR)/color3waywindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/colorbalance.o \
$(OBJDIR)/colorbalancewindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/compressor.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/crossfade.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/dbx.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/dcoffset.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/decimate.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/deinterlace-cv.o \
$(OBJDIR)/deinterwindow-cv.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/deinterlace.o \
$(OBJDIR)/deinterwindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/delayaudio.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/delayvideo.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/denoise.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/denoisefft.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/denoisemjpeg.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/seltempavg.o \
$(OBJDIR)/seltempavgwindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/denoisevideo.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/despike.o \
$(OBJDIR)/despikewindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/diffkey.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/dissolve.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/dot.o \
$(OBJDIR)/dotwindow.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/downsample.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/echo.o
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/echocancel.o
-include ../../global_config
+include ../../plugin_defs
OBJS := \
$(OBJDIR)/edge.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/fieldframe.o
-include ../../global_config
+include ../../plugin_defs
OPENCV_DIR := $(shell cd ../../thirdparty/OpenCV*; pwd)
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/flash.o
-#########################################################
-# LEVEL
-#########################################################
-
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/flip.o \
$(OBJDIR)/flipwindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/framefield.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN = freeverb
OBJS := $(OBJDIR)/freeverb.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/freezeframe.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/gain.o \
$(OBJDIR)/gainwindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/gamma.o \
$(OBJDIR)/gammawindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/gradient.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/graphic.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/greycstorationwindow.o $(OBJDIR)/greycstorationplugin.o
PLUGIN = greycstoration
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/histogram.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/bistogram.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/holo.o \
$(OBJDIR)/holowindow.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/huesaturation.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/interpolate.o
-include ../../global_config
+include ../../plugin_defs
OBJS := $(OBJDIR)/interpolateall.o
-include ../../global_config
+include ../../plugin_defs
OBJS := $(OBJDIR)/interpolateaudio.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/interpolatevideo.o \
$(OBJDIR)/interpolatewindow.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/invert.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/invert.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/irissquare.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/ivtc.o \
$(OBJDIR)/ivtcwindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/lens.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/leveleffect.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/effecttv.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/linearblur.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/liveaudio.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/livevideo.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/loopaudio.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/loopvideo.o
-include ../../global_config
+include ../../plugin_defs
OBJS := \
$(OBJDIR)/motion.o \
-include ../../global_config
+include ../../plugin_defs
OBJS := \
$(OBJDIR)/motion.o \
-include ../../global_config
+include ../../plugin_defs
OBJS := \
$(OBJDIR)/downsampleengine.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/motionblur.o
PLUGIN = motionblur
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/normalize.o \
$(OBJDIR)/normalizewindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/oil.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/overlay.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/overlayaudio.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/parametric.o
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/perspective.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/photoscale.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/piano.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/pitch.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/polar.o
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/radialblur.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/reframe.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/reframert.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/removegaps.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/reroute.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/resample.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/resamplert.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/reverb.o \
$(OBJDIR)/reverbwindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/reverseaudio.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/reversevideo.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/rgb601.o \
$(OBJDIR)/rgb601window.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/rgbshift.o
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/rotate.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/scale.o \
$(OBJDIR)/scalewin.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/shapewipe.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/sharpen.o \
$(OBJDIR)/sharpenwindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/shiftinterlace.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/slide.o
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/spectrogram.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/svg.o \
$(OBJDIR)/svgwin.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/swapchannels.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/swapframes.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/synthesizer.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN = theme_blond
OBJS = $(OBJDIR)/blondtheme.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN = theme_blond_cv
OBJS = $(OBJDIR)/blondcvtheme.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN = theme_blue
OBJS = $(OBJDIR)/bluetheme.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN=theme_blue_dot
OBJS = $(OBJDIR)/bluedottheme.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN = theme_bright
OBJS = $(OBJDIR)/brighttheme.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN = theme_hulk
OBJS = $(OBJDIR)/hulktheme.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN = theme_pinklady
OBJS = $(OBJDIR)/pinkladytheme.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN = theme_suv
OBJS = $(OBJDIR)/suv.o
-include ../../global_config
+include ../../plugin_defs
PLUGIN = theme_unflat
OBJS = $(OBJDIR)/unflattheme.o
-include ../../global_config
+include ../../plugin_defs
OBJS := \
$(OBJDIR)/histogramengine.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/timeavg.o \
$(OBJDIR)/timeavgwindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/timefront.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/timestretch.o \
$(OBJDIR)/timestretchengine.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/timestretchrt.o \
../timestretch/$(OBJDIR)/timestretchengine.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/title.o \
$(OBJDIR)/titlewindow.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/translate.o \
$(OBJDIR)/translatewin.o
-include ../../global_config
+include ../../plugin_defs
OBJS := \
$(OBJDIR)/unsharp.o \
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/videoscope.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/vocoder.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/wave.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/whirl.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/wipe.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/yuv.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/yuvshift.o
-include ../../global_config
+include ../../plugin_defs
OBJS = $(OBJDIR)/zoom.o
-include ../../global_config
+include ../../plugin_defs
OBJS = \
$(OBJDIR)/zoomblur.o
+TOPDIR ?= $(CURDIR)/..
+include $(TOPDIR)/global_config
-
-OBJS := \
- de.mo \
- es.mo \
- eu.mo \
- fr.mo \
- it.mo \
- nb.mo \
- pt.mo \
- sl.mo \
- hi.mo \
- ko.mo \
- vi.mo \
- zh.mo \
- el.mo \
- ja.mo \
- uk.mo \
- ru.mo \
+OBJS := $(foreach i,de es eu fr it nb pt sl hi ko vi zh el ja uk ru, $(i).mo)
+MOBJS := $(foreach i,$(OBJS),$(BINDIR)/locale/$(basename $(i))/LC_MESSAGES/cinelerra.mo)
all: $(OBJS)
-
-install:
- @for i in $(OBJS) ; \
- do \
- BASENAME=`echo $$i | sed 's/\.mo//'` ; \
- DST=cinelerra.mo ; \
- DIR=../bin/locale/$$BASENAME/LC_MESSAGES ; \
- echo mkdir -p $$DIR ; \
- mkdir -p $$DIR ; \
- echo cp $$i $$DIR/$$DST ; \
- cp $$i $$DIR/$$DST ; \
- done
+install: $(MOBJS)
clean:
- rm -f *.mo
-
-$(OBJS):
- msgfmt -c -o $@ $(subst .mo,.po,$@)
-
+ rm -f $(OBJS)
-de.mo: de.po
-es.mo: es.po
-eu.mo: eu.po
-fr.mo: fr.po
-it.mo: it.po
-nb.mo: nb.po
-pt_BR.mo: pt_BR.po
-sl.mo: sl.po
+%.mo: %.po
+ msgfmt -c -o $@ $*.po
+$(BINDIR)/locale/%/LC_MESSAGES/cinelerra.mo: %.mo
+ mkdir -p $(dir $@)
+ cp $*.mo $@
-
# to see the make rules:
# make rules
#
# add config enables if other libraries use the new library
#
-include ../global_config
--include config.mak
+TOPDIR ?= $(CURDIR)/..
+include $(TOPDIR)/global_config
BLD := $(THIRDPARTY)/build
pkg-source=$(BLD)/$(1).source
unpack_gz=tar -xzf $(1)
unpack_bz2=tar -xjf $(1)
unpack_xz=tar -xJf $(1)
-bld_depends=$(if $(filter $(firstword $($(1))),static),$(call pkg-built,$(1)))
-bld_path=`echo $(THIRDPARTY)/$(1)*`/$(2)
-inc_path=$(if $(filter $(firstword $($(1))),static),-I$(call bld_path,$(1),$(2)))
-ld_path=$(if $(filter $(firstword $($(1))),static),-L$(call bld_path,$(1),$(2)))
+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)))
#$(eval $(call std-build,pkg,deps...))
#$(pkg.cflags) added as CFLAGS+=$(cflags) to pkg.vars
endef
-TARGETS := $(static_libs)
+TARGETS := $(static_blds)
all: $(TARGETS)
esound.cfg_vars:= AUDIOFILE_CFLAGS="$(call inc_path,audiofile,libaudiofile) -laudiofile"
esound.cfg_vars+= AUDIOFILE_LIBS="$(call ld_path,audiofile,libaudiofile/.libs)"
esound.cfg_params= --enable-shared=no --with-pic
-esound.ldflags="-lm -lstdc++"
+esound.mak_vars+= CFLAGS=""
+esound.ldflags=" -lm -lstdc++"
faac.cfg_params= --enable-shared=no
faad2.cfg_params= --enable-shared=no
fdk.cfg_vars= ./autogen.sh ;
fdk.cfg_params= --enable-shared=no
-fdk.mak_params= ; for f in $(call bld_path,fdk,/lib*/include); do ln -s include `dirname $$$$f`/fdk-aac ; done
+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 \
$(call ld_path,x264) \
$(call ld_path,x265) \
$(call ld_path,fdk,.libs) \
- $(EXTRA_LIBS)" $(EXTRA_FFMPEG_CFG) \
+ $(EXTRA_LIBS)" $(FFMPEG_EXTRA_CFG) \
cmake_config=echo "exec cmake \$$$$@ $(1)" > ./configure; chmod +x ./configure;
a52dec.mak_params?= ; cd $(call bld_path,a52dec,include); ln -sf . a52dec
mjpegtools.mak_params?=; ln -s . $(call bld_path,mjpegtools,utils)/mjpegtools
mjpegtools.cfg_params?= --enable-shared=no
ladspa.mak_params?=; $(MAKE) -C ladspa* install DESTDIR=$(call bld_path,ladspa)
-libavc1394.cfg_vars?=PKG_CONFIG_PATH=$(bld_path libraw1394)
-libavc1394.cflags?="$(inc_path libraw1394)"
-libavc1394.ldflags?="$(ld_path libraw1394,src/.libs)"
+libavc1394.cfg_vars?=PKG_CONFIG_PATH=$(call bld_path,libraw1394)
+libavc1394.cflags?="$(call inc_path,libraw1394)"
+libavc1394.ldflags?="$(call ld_path,libraw1394,src/.libs)"
libavc1394.cfg_params?= --enable-shared=no
+libavc1394.mak_params?=; cd $(call bld_path,libavc1394); ln -sf ../librom1394/rom1394.h libavc1394/.
libdv.cfg_params?= --disable-gtk --enable-shared=no
-libiec61883.cfg_vars?=PKG_CONFIG_PATH=$(bld_path libraw1394)
-libiec61883.cflags?="$(inc_path libraw1394)"
-libiec61883.ldflags?="$(ld_path libraw1394,src/.libs)"
+libiec61883.cfg_vars?=PKG_CONFIG_PATH=$(call bld_path,libraw1394)
+libiec61883.cflags?="$(call inc_path,libraw1394)"
+libiec61883.ldflags?="$(call ld_path,libraw1394,src/.libs)"
libiec61883.cfg_params?= --enable-shared=no
libjpeg.cfg_params?= --enable-shared=no
libogg.cfg_params?= --enable-shared=no
libraw1394.cfg_params?= --enable-shared=no; ln -sf src libraw1394
-libtheora.cfg_vars?=PKG_CONFIG_PATH=$(bld_path libogg):$(bld_path libvorbis)
-libtheora.cflags?="$(inc_path libogg,include) $(inc_path libogg,src) $(inc_path libvorbis,include)"
-libtheora.ldflags?="$(ld_path libvorbis,lib/.libs) $(ld_path libogg,src/.libs)"
+libtheora.cfg_vars?=PKG_CONFIG_PATH=$(call bld_path,libogg):$(call bld_path,libvorbis)
+libtheora.cflags?="$(call inc_path,libogg,include) $(call inc_path,libogg,src) $(call inc_path,libvorbis,include)"
+libtheora.ldflags?="$(call ld_path,libvorbis,lib/.libs) $(call ld_path,libogg,src/.libs)"
libtheora.cfg_params?= --disable-examples --enable-shared=no
libuuid.cfg_params?=--enable-shared=no
libvorbis.cfg_params?= --disable-oggtest --enable-shared=no
touch $@
clean:
- for f in $(thirdparty); do rm -rf $$f*; done
+ for f in $(static_pkgs); do rm -rf $$f*; done
rm -rf $(BLD)
+install:
+ cp -a $(ver_mjpegtools)/mpeg2enc/mpeg2enc $(BINDIR)/.
+ cp -a $(ver_mjpegtools)/mplex/mplex $(BINDIR)/.
+
val-%:
@echo $($(subst val-,,$@))
+++ /dev/null
-#!/bin/bash
-name="$1"
-lib_path="$2"
-headers="$3"
-func="$4"
-shift 4
-
-: ${TMPDIR:=$TEMPDIR}
-: ${TMPDIR:=$TMP}
-: ${TMPDIR:=/tmp}
-
-exe=$(mktemp -u "${TMPDIR}/cine-${name}.XXXXXXXX")
-trap 'rm -f -- ${exe}' EXIT
-
-{
- for hdr in $headers; do
- test "${hdr%.h}" = "${hdr}" &&
- echo "#include $hdr" ||
- echo "#include <$hdr>"
- done
- for func in $func; do
- echo "long check_$func(void) { return (long) $func; }"
- done
- echo "int main(void) { return 0; }"
-} | cc -x c - -o $exe $@ # >& /dev/null
-
-if [ $? = 0 ]; then
- echo $name=$@
-else
- echo $name=$lib_path
-fi
-
+++ /dev/null
-#!/bin/bash
-
-if [ -x "`which gmake`" ]; then
- MAKE=gmake
-else
- MAKE=make
-fi
-
-for v in OBJDIR CPATH EXTRA_LIBS HAVE_LADSPA \
- HAVE_ALSA HAVE_DVB HAVE_ESOUND HAVE_FIREWIRE HAVE_DV \
- HAVE_OSS HAVE_XFT HAVE_VIDEO4LINUX HAVE_VIDEO4LINUX2 ; do
- eval export "$v=\"`$MAKE -s val-$v`\""
-done
-
-if [ "$1" = "static" ]; then
- STATIC_LIBRARIES="y"
-elif [ "$1" = "shared" ]; then
- STATIC_LIBRARIES="n"
-elif [ "$1" = "cv" ]; then
- STATIC_LIBRARIES="n"
- libs="libogg libtheora libvorbis openexr libdv libjpeg tiff x264 mjpegtools a52dec lame libsndfile faac faad2"
- forced_libs="mjpegtools x264"
-else
- echo "usage: $0 <static | shared | cv>"
- exit 1
-fi
-
-#thirdparty libraries
-
-echo "configuring thirdparty library build"
-echo ""
-echo "required libraries:"
-
-append() {
- var=$1
- shift
- eval "$var+=\" $*\""
-}
-
-is_in() {
- value=$1
- shift
- for var in $*; do
- [ $var = $value ] && return 0
- done
- return 1
-}
-
-add_library() {
- local lib=$1
- shift 1
- append LIBS $lib
- sta_lib=sta_$lib
- append $sta_lib $@
-}
-
-inc_a52dec="include"
-add_library a52dec \
- liba52/.libs/liba52.a
-inc_audiofile="libaudiofile"
-add_library audiofile \
- libaudiofile/.libs/libaudiofile.a \
- libaudiofile/modules/.libs/libmodules.a \
- libaudiofile/alac/.libs/libalac.a
-inc_encore="."
-add_library encore \
- $OBJDIR/libencore.a
-if [ "$HAVE_ESOUND" = "y" ]; then
-inc_esound="."
-add_library esound \
- .libs/libesd.a \
- .libs/libesddsp.a
-fi
-inc_faac="include"
-add_library faac \
- libfaac/.libs/libfaac.a \
- common/mp4v2/libmp4v2.a
-inc_faad2="include"
-add_library faad2 \
- libfaad/.libs/libfaad.a \
- common/mp4ff/libmp4ff.a
-# fdk replaces faac/faad2, but is experimental...
-inc_fdk="libAACdec/include libAACenc/include libSYS/include"
-add_library fdk \
- .libs/libfdk-aac.a
-inc_festival="src"
-add_library festival \
- src/lib/libFestival.a
-inc_ffmpeg="."
-add_library ffmpeg \
- libavutil/libavutil.a \
- libavcodec/libavcodec.a \
- libpostproc/libpostproc.a \
- libavdevice/libavdevice.a \
- libavformat/libavformat.a \
- libswscale/libswscale.a \
- libavfilter/libavfilter.a \
- libswresample/libswresample.a
-inc_fftw="api"
-add_library fftw \
- .libs/libfftw3.a \
- libbench2/libbench2.a \
- rdft/scalar/r2cb/.libs/librdft_scalar_r2cb.a \
- rdft/scalar/r2r/.libs/librdft_scalar_r2r.a \
- rdft/scalar/.libs/librdft_scalar.a \
- rdft/scalar/r2cf/.libs/librdft_scalar_r2cf.a \
- rdft/.libs/librdft.a \
- api/.libs/libapi.a \
- reodft/.libs/libreodft.a \
- dft/scalar/codelets/.libs/libdft_scalar_codelets.a \
- dft/scalar/.libs/libdft_scalar.a \
- dft/.libs/libdft.a \
- kernel/.libs/libkernel.a \
- simd-support/.libs/libsimd_support.a \
- simd-support/.libs/libsimd_sse2_nonportable.a
-inc_flac="include"
-add_library flac \
- src/libFLAC/.libs/libFLAC.a \
- src/libFLAC++/.libs/libFLAC++.a \
- src/share/utf8/.libs/libutf8.a \
- src/share/replaygain_analysis/.libs/libreplaygain_analysis.a \
- src/share/replaygain_synthesis/.libs/libreplaygain_synthesis.a \
- src/share/grabbag/.libs/libgrabbag.a \
- src/test_libs_common/.libs/libtest_libs_common.a
-inc_giflib="lib"
-add_library giflib \
- lib/.libs/libgif.a \
- util/libgetarg.a
-inc_ilmbase="Iex Half Imath config IlmThread"
-add_library ilmbase \
- Iex/.libs/libIex.a \
- IexMath/.libs/libIexMath.a \
- Half/.libs/libHalf.a \
- Imath/.libs/libImath.a \
- IlmThread/.libs/libIlmThread.a
-if [ "$HAVE_LADSPA" = "y" ]; then
-inc_ladspa=""
-add_library ladspa
-fi
-inc_lame="include"
-add_library lame \
- libmp3lame/.libs/libmp3lame.a \
- mpglib/.libs/libmpgdecoder.a
-if [ "$HAVE_FIREWIRE" = "y" ]; then
-inc_libavc1394="."
-add_library libavc1394 \
- libavc1394/.libs/libavc1394.a \
- librom1394/.libs/librom1394.a \
- common/.libs/libraw1394util.a
-inc_libraw1394="."
-add_library libraw1394 \
- src/.libs/libraw1394.a
-inc_libiec61883="src"
-add_library libiec61883 \
- src/.libs/libiec61883.a
-fi
-if [ "$HAVE_DV" = "y" ]; then
-inc_libdv="."
-add_library libdv \
- libdv/.libs/libdv.a
-fi
-inc_libjpeg="."
-add_library libjpeg \
- .libs/libjpeg.a \
- .libs/libturbojpeg.a \
- simd/.libs/libsimd.a
-inc_openjpeg="src/lib/openjp2"
-add_library openjpeg \
- bin/libopenjp2.a
-inc_libogg="include"
-add_library libogg \
- src/.libs/libogg.a
-inc_libsndfile="."
-add_library libsndfile \
- src/.libs/libsndfile.a \
- src/.libs/libcommon.a \
- src/G72x/.libs/libg72x.a \
- src/GSM610/.libs/libgsm.a
-inc_libtheora="."
-add_library libtheora \
- lib/.libs/libtheora.a \
- lib/.libs/libtheoradec.a \
- lib/.libs/libtheoraenc.a
-inc_libuuid="."
-add_library libuuid \
- .libs/libuuid.a
-inc_libvorbis="include ."
-add_library libvorbis \
- lib/.libs/libvorbis.a \
- lib/.libs/libvorbisenc.a \
- lib/.libs/libvorbisfile.a
-inc_mjpegtools=". lavtools utils"
-add_library mjpegtools \
- utils/mmxsse/.libs/libmmxsse.a \
- utils/.libs/libmjpegutils.a \
- lavtools/.libs/liblavfile.a \
- lavtools/.libs/liblavjpeg.a \
- yuvfilters/.libs/libyuvfilters.a \
- mpeg2enc/.libs/libmpeg2encpp.a \
- mplex/.libs/libmplex2.a
-inc_openexr="IlmImf config"
-add_library openexr \
- IlmImf/.libs/libIlmImf.a \
- IlmImfUtil/.libs/libIlmImfUtil.a
-inc_speech_tools="."
-add_library speech_tools \
- lib/libestools.a \
- lib/libeststring.a \
- lib/libestbase.a
-inc_tiff="."
-add_library tiff \
- libtiff/.libs/libtiff.a \
- libtiff/.libs/libtiffxx.a \
- port/.libs/libport.a
-inc_twolame="libtwolame"
-add_library twolame \
- libtwolame/.libs/libtwolame.a
-inc_x264="."
-add_library x264 \
- libx264.a
-inc_x265=". source"
-add_library x265 \
- libx265.a
-inc_libvpx="."
-add_library libvpx \
- libvpx.a \
-
-echo ""
-if [ -n "$libs" ]; then
- LIBS="$libs"
-fi
-
-n=0
-for lib in $LIBS; do
- echo -n " $lib"
- if [ $(((n+=1) % 8)) = 0 ]; then echo ""; fi
-done
-if [ $((n % 8)) != 0 ]; then echo ""; fi
-echo ""
-
-# dynamic library paths
-probe() {
- if ! `echo $LIBS | grep -qw $1`; then return 0; fi
- local name="$1"
- if [ -n "${!name}" ]; then return 0; fi
- local headers="$2"
- local func="$3"
- shift 3
-
- : ${TMPDIR:=$TEMPDIR}
- : ${TMPDIR:=$TMP}
- : ${TMPDIR:=/tmp}
-
- local exe=$(mktemp -u "${TMPDIR}/cine-${name}.XXXXXXXX")
- trap "rm -f -- ${exe}" EXIT
-
- {
- for hdr in $headers; do
- test "${hdr%.h}" = "${hdr}" &&
- echo "#include $hdr" ||
- echo "#include <$hdr>"
- done
- for func in $func; do
- echo "long check_$func(void) { return (long) $func; }"
- done
- echo "int main(void) { return 0; }"
- } | cc -x c - -o $exe $@ $EXTRA_LIBS >& /dev/null
- ret=$?
- rm -f "${exe}"
- if [ $ret = 0 ]; then
- eval $name=\"shared $*\"
- echo "exists shared $name"
- return 0
- fi
- local sta_libs=sta_$name
- eval $name=\"static ${!sta_libs}\"
- echo "build static $name"
- return 1
-}
-
-# test for shared libs/header files
-probe a52dec "a52.h" a52_init -la52
-probe audiofile "audiofile.h" afOpenFile -laudiofile
-probe faac "stdint.h faac.h" faacEncGetVersion -lfaac
-probe faad2 "faad.h" NeAACDecInit -lfaad
-# dont build festival in shared build
-if [ "$STATIC_LIBRARIES" = "n" ]; then festival="shared"; fi
-if [ "$STATIC_LIBRARIES" = "n" ]; then speech_tools="shared"; fi
-probe fftw "fftw3.h" fftw_execute -lfftw3
-probe flac "FLAC/stream_decoder.h" FLAC__stream_decoder_new -lFLAC
-probe lame "lame/lame.h" hip_decode_init -lmp3lame
-probe libavc1394 "libavc1394/avc1394.h librom1394/rom1394.h" avc1394_init_target -lavc1394
-probe libdv "libdv/dv.h" dv_init -ldv
-probe libiec61883 "libiec61883/iec61883.h" iec61883_mpeg2_recv_init -liec61883
-probe libjpeg "stdio.h unistd.h jpeglib.h" jpeg_start_decompress -ljpeg
-probe libogg "ogg/ogg.h" ogg_stream_init -logg
-probe openjpeg "openjpeg.h" opj_version -lopenjp2 -DOPJ_STATIC || \
-probe openjpeg "openjpeg-1.5/openjpeg.h" opj_version -lopenjpeg -DOPJ_STATIC || \
-probe openjpeg "openjpeg.h" opj_version -lopenjpeg -DOPJ_STATIC
-probe libraw1394 "libraw1394/raw1394.h" raw1394_iso_recv_init -lraw1394
-probe libsndfile "sndfile.h" sf_open -lsndfile
-probe ilmbase "OpenEXR/ImfCRgbaFile.h" ImfOpenInputFile -lIlmImf -lIlmThread -lIex
-probe openexr "OpenEXR/ImfCRgbaFile.h" ImfOpenInputFile -lIlmImf -lIlmThread -lIex
-probe libtheora "theora/theoraenc.h" th_info_init -ltheora -ltheoraenc -ltheoradec -logg
-probe libvorbis "vorbis/vorbisenc.h" vorbis_info_init -lvorbisenc -lvorbis -lvorbisfile -logg
-probe libvpx "vpx/vpx_decoder.h" vpx_codec_decode -lvpx
-probe tiff "tiff.h tiffio.h" TIFFOpen -ltiff
-probe twolame "twolame.h" twolame_encode_buffer_float32_interleaved -ltwolame
-probe x264 "stdint.h x264.h" x264_encoder_encode -lx264
-probe x265 "x265.h" x265_encoder_encode -lx265
-
-forced_libs="$forced_libs a52dec encore ffmpeg giflib libuuid openjpeg"
-
-# for ffmpeg link/broken disto libs
-for name in $LIBS; do
- if is_in $name $forced_libs; then
- set - ${!name}
- typ="$1"
- shift 1
- if [ "$typ" = "shared" ]; then
- echo "warn: $name forced static"
- sta_libs=sta_$name
- eval $name=\"static ${!sta_libs}\"
- fi
- fi
-done
-
-# add dependencies (order matters)
-for dep in \
- ffmpeg/faac ffmpeg/faad2 ffmpeg/twolame ffmpeg/lame ffmpeg/openjpeg \
- ffmpeg/libvorbis ffmpeg/libtheora ffmpeg/x264 ffmpeg/fdk \
- libiec61883/libraw1394 libavc1394/librom1394 \
- openexr/ilmbase ilmbase/libogg \
- libtheora/libogg libtheora/libvorbis ; do
- lib="${dep%%/*}"
- needs="${dep##*/}"
- if is_in $lib $shared; then
- if is_in $needs $shared; then continue; fi
- if is_in $needs $static; then
- echo warn: shared $lib using static $needs
- continue
- fi
- append shared $needs
- fi
- if is_in $lib $static; then
- if is_in $needs $static; then continue; fi
- if is_in $needs $shared; then
- echo warn: static $lib using shared $needs
- continue
- fi
- append static $needs
- fi
-done
-
-echo ""
-# check for static libs which may conflicting header files
-if [ "$STATIC_LIBRARIES" = "y" ]; then
- for name in $LIBS; do
- set - ${!name}
- typ="$1"
- shift 1
- if [ "$typ" = "shared" ]; then
- echo "warn: $name is shared and static"
- fi
- sta_libs=sta_$name
- eval $name=\"static ${!sta_libs}\"
- done
-fi
-
-# any unknowns are static
-for name in $LIBS; do
- if [ -z "${!name}" ]; then
- sta_libs=sta_$name
- eval $name=\"static ${!sta_libs}\"
- fi
-done
-
-# dont build festival
-festival="shared"
-speech_tools="shared"
-
-shared=""
-static=""
-for lib in $LIBS; do
- set - ${!lib}
- typ="$1"
- append $typ $lib
-done
-
-echo "thirdparty :=$LIBS" > config.mak
-echo "shared_libs :=$shared" >> config.mak
-echo "static_libs :=$static" >> config.mak
-
-for lib in $LIBS; do
- echo "$lib := ${!lib}"
- inc_lib=inc_$lib
- echo "inc_$lib := ${!inc_lib}"
-done >> config.mak
-
-echo >> config.mak '
-# translate config.mak into libs/incs
-
-pkg_path=$(lastword $(wildcard $(THIRDPARTY)/$(1)*))
-lib_static=$(call pkg_path,$(1))/$(2)
-lib_shared=$(2)
-inc_static=-I$(1)/$(2)
-inc_shared=
-lib_typ=$(firstword $(1))
-lib_refs=$(wordlist 2,$(words $(1)),$(1))
-
-$(foreach lib,$(thirdparty), \
- $(eval pkg_$(lib) := $(call pkg_path,$(lib))) \
- $(eval typ_$(lib) := $(call lib_typ,$($(lib)))) \
- $(eval lib_$(lib) := \
- $(foreach ref, $(call lib_refs,$($(lib))), \
- $(call lib_$(typ_$(lib)),$(lib),$(ref)))) \
- $(eval inc_$(lib) := \
- $(foreach inc, $(inc_$(lib)), \
- $(call inc_$(typ_$(lib)),$(pkg_$(lib)),$(inc)))))
-
-#list libs/incs
-ifeq ($(MAKECMDGOALS),list)
-$(foreach lib,$(thirdparty),$(info $(lib) := $(typ_$(lib)) $(pkg_$(lib))) \
- $(foreach ref,$(lib_$(lib)), $(info == $(ref))) \
- $(foreach ref,$(inc_$(lib)), $(info -- $(ref))))
-.PHONY: list
-list:
-
-endif
-
-static_includes := $(foreach lib,$(static_libs), $(inc_$(lib)))
-static_libraries := $(foreach lib,$(static_libs),$(lib_$(lib)))
-shared_libraries := $(foreach lib,$(shared_libs),$(lib_$(lib)))
-thirdparty_libraries := $(static_libraries) $(shared_libraries)
-'
-