Blob Blame History Raw
lib_LTLIBRARIES = libgstnet-@GST_API_VERSION@.la

libgstnet_@GST_API_VERSION@_includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/net
libgstnet_@GST_API_VERSION@_include_HEADERS = \
    net.h \
    net-prelude.h \
    gstnet.h \
    gstnetaddressmeta.h \
    gstnetclientclock.h \
    gstnetcontrolmessagemeta.h \
    gstnettimepacket.h \
    gstnettimeprovider.h \
    gstptpclock.h

libgstnet_@GST_API_VERSION@_la_SOURCES = \
    gstnetaddressmeta.c \
    gstnetclientclock.c \
    gstnetcontrolmessagemeta.c \
    gstnettimepacket.c \
    gstnettimeprovider.c \
    gstptpclock.c \
    gstntppacket.c \
    gstnetutils.c

noinst_HEADERS = gstptp_private.h gstntppacket.h gstnetutils.h

libgstnet_@GST_API_VERSION@_la_CFLAGS = $(GST_OBJ_CFLAGS) $(GIO_CFLAGS)
libgstnet_@GST_API_VERSION@_la_LIBADD = $(GST_OBJ_LIBS) $(GIO_LIBS) \
	$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la
libgstnet_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)

# try to prevent packaging errors
check-libexecdir-consistency:
	@if test "${GST_PTP_HELPER_INSTALLED}" != "${libexecdir}/gstreamer-$(GST_API_VERSION)/gst-ptp-helper"; then \
	  echo "*** Inconsistent libexecdir! Please use ./configure --libexecdir=/foo/bar"; \
	  echo "*** to set the libexecdir and not make libexecdir=/foo/bar or the like."; \
	  echo "*** The same goes for prefix, libdir etc."; \
	  echo "*** ${GST_PTP_HELPER_INSTALLED} != ${libexecdir}/gstreamer-$(GST_API_VERSION)/gst-ptp-helper"; \
	  exit 1; \
	fi

all-local: check-libexecdir-consistency

CLEANFILES = *.gcno *.gcda *.gcov

%.c.gcov: .libs/libgstnet_@GST_API_VERSION@_la-%.gcda %.c
	$(GCOV) -b -f -o $^ > $@.out

gcov: $(libgstnet_@GST_API_VERSION@_la_SOURCES:=.gcov)


if HAVE_INTROSPECTION
BUILT_GIRSOURCES = GstNet-@GST_API_VERSION@.gir

gir_headers=$(patsubst %,$(srcdir)/%, $(libgstnet_@GST_API_VERSION@_include_HEADERS))
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstnet_@GST_API_VERSION@_la_SOURCES))
gir_cincludes=--c-include="gst/net/net.h"

GstNet-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstnet-@GST_API_VERSION@.la
	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_DISABLE=yes \
		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
		$(INTROSPECTION_SCANNER) -v --namespace GstNet \
		--identifier-prefix=Gst \
		--symbol-prefix=gst \
		--warn-all \
		--nsversion=@GST_API_VERSION@ \
		-I$(top_srcdir) \
		-I$(top_srcdir)/libs \
		-I$(top_builddir) \
		-I$(top_builddir)/libs \
		$(gir_cincludes) \
		--add-include-path=$(top_builddir)/gst \
		--library-path=$(top_builddir)/gst \
		--library=libgstnet-@GST_API_VERSION@.la \
		--include=Gst-@GST_API_VERSION@ \
		--include=Gio-2.0 \
		--libtool="${LIBTOOL}" \
		--pkg gstreamer-@GST_API_VERSION@ \
		--pkg gio-2.0 \
		--pkg-export="gstreamer-net-@GST_API_VERSION@" \
		--add-init-section="$(INTROSPECTION_INIT)" \
		--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)$(INTROSPECTION_COMPILER) --includedir=$(srcdir) --includedir=$(builddir) --includedir=$(top_builddir)/gst $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)

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