gstreamer/ext/libvpx/Makefile.am
Gwenole Beauchesne de6a980065 vp8: allow compilation without the built-in libvpx.
The built-in libvpx serves multiple purposes, among which the most
important ones could be: track the most up-to-date, and optimized,
range decoder; allow for future hybrid implementations (non-VLD);
and have a completely independent range decoder implementation.
2014-04-21 17:53:06 +02:00

142 lines
4 KiB
Makefile

# Makefile.am - Rules for the built-in libvpx sources
#
# Copyright (C) 2014 Intel Corporation
# Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
# Boston, MA 02110-1301, USA.
lib_LTLIBRARIES =
if USE_BUILTIN_LIBVPX
lib_LTLIBRARIES += libgstcodecparsers_vpx.la
endif
gst_vpx_source_c = gstlibvpx.c
gst_vpx_source_h = gstlibvpx.h
vpx_upstream = upstream
vpx_srcdir = $(srcdir)/$(vpx_upstream)
vpx_builddir = $(builddir)/$(vpx_upstream)
vpx_versions = libgstcodecparsers_vpx.vers
vpx_cflags = \
-I$(vpx_srcdir) \
-I$(vpx_builddir) \
$(NULL)
vpx_libs = \
-Wl,-Bsymbolic \
-Wl,--whole-archive \
-Wl,$(vpx_builddir)/libvpx.a \
-Wl,--no-whole-archive \
-Wl,--version-script,$(srcdir)/$(vpx_versions) \
-Wl,-lpthread \
-Wl,-lm \
$(NULL)
libgstcodecparsers_vpx_la_SOURCES = $(gst_vpx_source_c)
libgstcodecparsers_vpx_la_CFLAGS = $(vpx_cflags)
libgstcodecparsers_vpx_la_DEPENDENCIES = vpx.build
libgstcodecparsers_vpx_la_LINK = $(LINK) $(vpx_libs)
EXTRA_libgstcodecparsers_vpx_la_DEPENDENCIES = $(srcdir)/$(vpx_versions)
VPX_DEBUG = yes
# Codecs
VP8_DECODER = enable
VP8_ENCODER = disable
VP9_DECODER = disable
VP9_ENCODER = disable
clean-local: vpx.clean
maintainer-clean-local: vpx.maintainer.clean
vpx.build: vpx.configure.stamp
@$(MAKE) -C $(vpx_builddir)
vpx.clean:
@[ -d $(vpx_builddir) ] && \
$(MAKE) -C $(vpx_builddir) clean || :
rm -f vpx.build.stamp vpx.configure.stamp
vpx.maintainer.clean: vpx.clean
rm -rf $(vpx_builddir)
vpx.configure.stamp:
@[ -d $(vpx_builddir) ] || mkdir $(vpx_builddir); \
cd $(vpx_builddir) ; \
test "$(VPX_DEBUG)" = "yes" && \
CONFIGURE_FLAGS="$$CONFIGURE_FLAGS --enable-debug" ; \
$(abs_srcdir)/$(vpx_upstream)/configure $$CONFIGURE_FLAGS \
--enable-static \
--enable-pic \
--disable-shared \
--$(VP8_DECODER)-vp8-decoder \
--$(VP8_ENCODER)-vp8-encoder \
--$(VP9_DECODER)-vp9-decoder \
--$(VP9_ENCODER)-vp9-encoder \
--enable-runtime-cpu-detect \
--disable-md5 \
--disable-examples \
--disable-docs \
--disable-unit-tests && \
cd .. && \
touch $@
$(gst_vpx_source_c): vpx.build
CLEANFILES = vpx.build.stamp
# Files for packaging
include $(srcdir)/sources.frag
vpx_sources = \
$(vpx_srcdir)/AUTHORS \
$(vpx_srcdir)/CHANGELOG \
$(vpx_srcdir)/LICENSE \
$(vpx_srcdir)/PATENTS \
$(vpx_srcdir)/build/make/Makefile \
$(vpx_srcdir)/build/make/ads2gas.pl \
$(vpx_srcdir)/build/make/ads2gas_apple.pl \
$(vpx_srcdir)/build/make/configure.sh \
$(vpx_srcdir)/build/make/gen_asm_deps.sh \
$(vpx_srcdir)/build/make/obj_int_extract.c \
$(vpx_srcdir)/build/make/rtcd.sh \
$(vpx_srcdir)/build/make/version.sh \
$(vpx_srcdir)/configure \
$(vpx_srcdir)/vp8/common/rtcd_defs.sh \
$(vpx_srcdir)/vp9/common/vp9_rtcd_defs.sh \
$(vpx_srcdir)/vpx_scale/vpx_scale_rtcd.sh \
$(vpx_source_mak:%.mk=$(vpx_srcdir)/%.mk) \
$(vpx_source_c:%.c=$(vpx_srcdir)/%.c) \
$(vpx_source_h:%.h=$(vpx_srcdir)/%.h) \
$(NULL)
EXTRA_DIST = \
sources.frag \
$(gst_vpx_source_h) \
$(vpx_sources) \
$(vpx_versions) \
$(NULL)
# Avoid implicit rule that tries to compile .asm.o to .asm
dist-hook:
for f in $(vpx_source_asm); do \
mkdir -p $(distdir)/$(vpx_upstream)/$$(dirname $$f); \
cp -fpR $(vpx_srcdir)/$$f $(distdir)/$(vpx_upstream)/$$f; \
done
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = Makefile.in vpx.configure.stamp