gstreamer/plugins/elements/Makefile.am
Sebastian Dröge 18a7a1d062 gst: Add better support for static plugins
API: GST_PLUGIN_STATIC_DECLARE()
API: GST_PLUGIN_STATIC_REGISTER()

Based on a patch by Håvard Graff <havard.graff@tandberg.com>.

This now allows GST_PLUGIN_DEFINE() to create a static plugin if
GST_PLUGIN_BUILD_STATIC is defined. The resulting plugin can be
statically linked or dynamically linked during compilation but
can't be dynamically loaded during runtime.

Also adds GST_PLUGIN_STATIC_DECLARE() and GST_PLUGIN_STATIC_REGISTER(),
which allows to register a static linked plugin easily.
It is still required to manually register every single statically linked
plugin from inside the application as this can't be automated in a portable
way.

A new configure parameter --enable-static-plugins was added that allows
to build all plugins we build here as static plugins.

Fixes bug #667305.
2013-04-15 15:52:18 +02:00

71 lines
1.8 KiB
Makefile

plugin_LTLIBRARIES = libgstcoreelements.la
libgstcoreelements_la_DEPENDENCIES = $(top_builddir)/gst/libgstreamer-@GST_API_VERSION@.la
libgstcoreelements_la_SOURCES = \
gstcapsfilter.c \
gstelements.c \
gstfakesrc.c \
gstfakesink.c \
gstfdsrc.c \
gstfdsink.c \
gstfilesink.c \
gstfilesrc.c \
gstfunnel.c \
gstidentity.c \
gstinputselector.c \
gstoutputselector.c \
gstmultiqueue.c \
gstqueue.c \
gstqueue2.c \
gsttee.c \
gsttypefindelement.c \
gstvalve.c
libgstcoreelements_la_CFLAGS = $(GST_OBJ_CFLAGS)
libgstcoreelements_la_LIBADD = \
$(top_builddir)/libs/gst/base/libgstbase-@GST_API_VERSION@.la \
$(GST_OBJ_LIBS)
libgstcoreelements_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstcoreelements_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
noinst_HEADERS = \
gstcapsfilter.h \
gstfakesink.h \
gstfakesrc.h \
gstfdsrc.h \
gstfdsink.h \
gstfilesink.h \
gstfilesrc.h \
gstfunnel.h \
gstidentity.h \
gstinputselector.h \
gstoutputselector.h \
gstmultiqueue.h \
gstqueue.h \
gstqueue2.h \
gsttee.h \
gsttypefindelement.h \
gstvalve.h
EXTRA_DIST = gstfdsrc.c \
gstfdsink.c
CLEANFILES = *.gcno *.gcda *.gcov *.gcov.out
%.c.gcov: .libs/libgstcoreelements_la-%.gcda %.c
$(GCOV) -b -f -o $^ > $@.out
gcov: $(libgstcoreelements_la_SOURCES:=.gcov)
Android.mk: Makefile.am
androgenizer -:PROJECT gstreamer -:SHARED libgstcoreelements -:TAGS eng debug \
-:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
-:SOURCES $(libgstcoreelements_la_SOURCES) \
-:CFLAGS $(DEFS) $(libgstcoreelements_la_CFLAGS) \
-:LDFLAGS $(libgstcoreelements_la_LDFLAGS) \
$(libgstcoreelements_la_LIBADD) \
-:PASSTHROUGH LOCAL_ARM_MODE:=arm \
LOCAL_MODULE_PATH:=$$\(TARGET_OUT\)/lib/gstreamer-@GST_API_VERSION@ \
> $@