lib_LTLIBRARIES = libgstpbutils-@GST_API_VERSION@.la

headers_pbutils = \
	pbutils.h         \
	codec-utils.h     \
	descriptions.h    \
	encoding-profile.h	\
	encoding-target.h	\
	install-plugins.h \
	missing-plugins.h \
	gstdiscoverer.h

# variables used for enum/marshal generation
glib_enum_headers = $(headers_pbutils)
glib_enum_define = PB_UTILS
glib_gen_prefix = pbutils
glib_gen_basename = pbutils

built_headers_configure = \
	gstpluginsbaseversion.h

libgstpbutils_@GST_API_VERSION@_la_SOURCES = \
	gstpluginsbaseversion.c \
	pbutils.c         \
	codec-utils.c     \
	descriptions.c    \
	encoding-profile.c	\
	encoding-target.c	\
	install-plugins.c \
	missing-plugins.c \
	gstdiscoverer.c   \
	gstdiscoverer-types.c

nodist_libgstpbutils_@GST_API_VERSION@_la_SOURCES = \
	pbutils-enumtypes.c	\
	pbutils-marshal.c

libgstpbutils_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/pbutils
libgstpbutils_@GST_API_VERSION@include_HEADERS = \
	$(headers_pbutils)
nodist_libgstpbutils_@GST_API_VERSION@include_HEADERS = \
	$(built_headers_configure) \
	pbutils-enumtypes.h
noinst_HEADERS = \
	pbutils-private.h
EXTRA_DIST = pbutils-marshal.list

libgstpbutils_@GST_API_VERSION@_la_LIBADD = \
  $(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
  $(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_API_VERSION@.la \
  $(GST_LIBS)
libgstpbutils_@GST_API_VERSION@_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
libgstpbutils_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)

BUILT_SOURCES = \
	pbutils-enumtypes.c \
	pbutils-enumtypes.h \
	pbutils-marshal.c   \
	pbutils-marshal.h

CLEANFILES = $(BUILT_SOURCES)

# DISTCLEANFILES is for files generated by configure
DISTCLEANFILES = $(built_headers_configure)

include $(top_srcdir)/common/gst-glib-gen.mak

if HAVE_INTROSPECTION
BUILT_GIRSOURCES = GstPbutils-@GST_API_VERSION@.gir

gir_headers=$(patsubst %,$(srcdir)/%, $(libgstpbutils_@GST_API_VERSION@include_HEADERS))
gir_headers+=$(patsubst %,$(builddir)/%, $(nodist_libgstpbutils_@GST_API_VERSION@include_HEADERS))
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstpbutils_@GST_API_VERSION@_la_SOURCES))
gir_sources+=$(patsubst %,$(builddir)/%, $(nodist_libgstpbutils_@GST_API_VERSION@_la_SOURCES))
gir_cincludes=$(patsubst %,--c-include='gst/pbutils/%',$(libgstpbutils_@GST_API_VERSION@include_HEADERS))
gir_cincludes+=$(patsubst %,--c-include='gst/pbutils/%',$(nodist_libgstpbutils_@GST_API_VERSION@include_HEADERS))

GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_API_VERSION@.la
	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
		GST_PLUGIN_SYSTEM_PATH="" GST_PLUGIN_PATH="" GST_REGISTRY_UPDATE=no \
		$(INTROSPECTION_SCANNER) -v --namespace GstPbutils \
		--nsversion=@GST_API_VERSION@ \
		--strip-prefix=Gst \
		--warn-all \
		$(gir_cincludes) \
		-DGST_USE_UNSTABLE_API \
		-I$(top_srcdir)/gst-libs \
		-I$(top_builddir)/gst-libs \
		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
		--library=$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_API_VERSION@.la \
		--library=$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
		--library=$(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_API_VERSION@.la \
		--library=libgstpbutils-@GST_API_VERSION@.la \
		--library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
		--library=gstreamer-@GST_API_VERSION@ \
		--include=Gst-@GST_API_VERSION@ \
		--libtool="$(top_builddir)/libtool" \
		--pkg gstreamer-@GST_API_VERSION@ \
		--pkg-export gstreamer-pbutils-@GST_API_VERSION@ \
		--add-init-section="gst_init(NULL,NULL);" \
		--output $@ \
		$(gir_headers) \
		$(gir_sources)

# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
# install anything - we need to install inside our prefix.
girdir = $(datadir)/gir-1.0
gir_DATA = $(BUILT_GIRSOURCES)

typelibsdir = $(libdir)/girepository-1.0/

typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)

%.typelib: %.gir $(INTROSPECTION_COMPILER)
	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
		$(INTROSPECTION_COMPILER) \
		--includedir=$(srcdir) \
		--includedir=$(builddir) \
		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)

CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
endif

Android.mk: Makefile.am $(BUILT_SOURCES)
	androgenizer -:PROJECT libgstpbutils -:SHARED libgstpbutils-@GST_API_VERSION@ \
	 -:TAGS eng debug \
         -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
	 -:SOURCES $(libgstpbutils_@GST_API_VERSION@_la_SOURCES) \
	           $(nodist_libgstpbutils_@GST_API_VERSION@_la_SOURCES) \
	 -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(libgstpbutils_@GST_API_VERSION@_la_CFLAGS) \
	 -:LDFLAGS $(libgstpbutils_@GST_API_VERSION@_la_LDFLAGS) \
	           $(libgstpbutils_@GST_API_VERSION@_la_LIBADD) \
	           -ldl \
	 -:HEADER_TARGET gstreamer-@GST_API_VERSION@/gst/pbutils \
	 -:HEADERS $(libgstpbutils_@GST_API_VERSION@include_HEADERS) \
	           $(nodist_libgstpbutils_@GST_API_VERSION@include_HEADERS) \
	 -:PASSTHROUGH LOCAL_ARM_MODE:=arm \
	> $@
