gstreamer/gst/Makefile.am
Erik Walthinsen 5684e131de Change soversion back to 0:0:0 and add use of -release flag for libtool.
Original commit message from CVS:
Change soversion back to 0:0:0 and add use of -release flag for libtool.
This means that any program linking against libgst will automatically have
the specific release of libgst encoded into it.  This enforces the fact
that (for the moment), the API/ABI is changing rapidly enough that you
can't link against 0.3.2 originally and have it still work with 0.3.3.  It
might be possible, but highly unlikely.

When we get closer to a stable API/ABI, in the 0.5.0 timeframe most likely,
we will start using soversions as recommended in the libtool docs.  Then
we have to pay more attention to forward and backwards compatiblity, or
rather, we have to *start* paying attention <g>
2002-02-01 22:37:16 +00:00

220 lines
5.2 KiB
Makefile

# cheap trick to build . first...
lib_LTLIBRARIES = libgst.la
if HAVE_CPU_I386
GSTARCH_SRCS = gstcpuid_i386.s
else
GSTARCH_SRCS =
endif
#GST_INSTRUMENT_FLAGS = -finstrument-functions -DGST_ENABLE_FUNC_INSTRUMENTATION
if USE_GLIB2
GST_OBJECT_MODEL_SRC = gstmarshal.c
GST_OBJECT_MODEL_HDR = gstmarshal.h
else
GST_OBJECT_MODEL_SRC = gobject2gtk.c
GST_OBJECT_MODEL_HDR = gobject2gtk.h
endif
if GST_DISABLE_LOADSAVE
GST_LOADSAVE_SRC =
else
GST_LOADSAVE_SRC = gstxml.c
endif
if GST_DISABLE_TYPEFIND
GST_TYPEFIND_SRC =
else
GST_TYPEFIND_SRC = gsttypefind.c
endif
if GST_DISABLE_PARSE
GST_PARSE_SRC =
else
GST_PARSE_SRC = gstparse.c
endif
if GST_DISABLE_AUTOPLUG
GST_AUTOPLUG_SRC =
GST_AUTOPLUG_DIRS =
else
GST_AUTOPLUG_SRC = gstautoplug.c
GST_AUTOPLUG_DIRS = autoplug
endif
if GST_DISABLE_TRACE
GST_TRACE_SRC =
else
GST_TRACE_SRC = gsttrace.c
endif
EXTRA_libgst_la_SOURCES = gstcpuid_i386.s gstmarshal.list gobject2gtk.c gobject2gtk.h gstxml.c gsttypefind.c gstparse.c gstautoplug.c gsttrace.c
SUBDIRS = . types elements $(GST_AUTOPLUG_DIRS) schedulers
DIST_SUBDIRS = types elements autoplug schedulers cothreads
libgst_la_SOURCES = \
cothreads.c \
gst.c \
$(GST_OBJECT_MODEL_SRC) \
gstobject.c \
$(GST_AUTOPLUG_SRC) \
gstbin.c \
gstbuffer.c \
gstbufferpool.c \
gstcaps.c \
gstclock.c \
gstcpu.c \
gstelement.c \
gstelementfactory.c \
gstevent.c \
gstextratypes.c \
gstinfo.c \
gstpad.c \
gstpipeline.c \
gstplugin.c \
gstpluginfeature.c \
gstprops.c \
gstqueue.c \
gstscheduler.c \
gstthread.c \
$(GST_TRACE_SRC) \
gsttype.c \
$(GST_TYPEFIND_SRC) \
gstutils.c \
gsttimecache.c \
$(GST_PARSE_SRC) \
$(GSTARCH_SRCS) \
$(GST_LOADSAVE_SRC)
##### Oh this sucks so badly. This isn't funny. #####
# the compiler shoots cothreads.c in the head at -O6
# FIXME: these manual rules break the dependency generation, so we have a
# nasty hack here.
#LTCOMPILE2=$(LTCOMPILE) -O2
#COMPILE2=$(COMPILE) -O2
# FIXME this only lists the x86 arch file, we really should merge them all
cothreads.lo: $(srcdir)/cothreads.c $(srcdir)/cothreads.h $(srcdir)/gst_private.h \
$(top_builddir)/config.h $(srcdir)/gstinfo.c $(srcdir)/gstarch.h
$(LIBTOOL) --mode=compile $(COMPILE) -O2 -c $<
cothreads.o: $(srcdir)/cothreads.c $(srcdir)/cothreads.h $(srcdir)/gst_private.h \
$(top_builddir)/config.h $(srcdir)/gstinfo.c $(srcdir)/gstarch.h
$(COMPILE) -O2 -c $<
# NOTDEPEND.cothreads.lo: cothreads.c
# NOTDEPEND $(LTCOMPILE2) -c $<
# NOTDEPEND.cothreads.o: cothreads.c
# NOTDEPEND $(COMPILE2) -c $<
#cothreads.lo: cothreads.c
# @echo '$(LTCOMPILE2) -c $<'; \
# $(LTCOMPILE2) -Wp,-MD,.deps/$(*F).pp -c $<
# @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
# < .deps/$(*F).pp > .deps/$(*F).P; \
# tr ' ' '\012' < .deps/$(*F).pp \
# | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
# >> .deps/$(*F).P; \
# rm -f .deps/$(*F).pp
#cothreads.o: cothreads.c
# @echo '$(COMPILE2) -c $<'; \
# $(COMPILE2) -Wp,-MD,.deps/$(*F).pp -c $<
# @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
# < .deps/$(*F).pp > .deps/$(*F).P; \
# tr ' ' '\012' < .deps/$(*F).pp \
# | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
# >> .deps/$(*F).P; \
# rm -f .deps/$(*F).pp
##### end immense suckage #####
##### Other built sources #####
if USE_GLIB2
BUILT_SOURCES = gstmarshal.h gstmarshal.c
else
BUILT_SOURCES =
endif
# Generate both marshal files together. Makes dependency work easier.
gstmarshal.h: gstmarshal.list
glib-genmarshal --header --prefix=gst_marshal $(srcdir)/gstmarshal.list > gstmarshal.h
gstmarshal.c: gstmarshal.list
echo "#include \"glib-object.h\"" >gstmarshal.c
echo "#include \"gstlog.h\"" >> gstmarshal.c
echo "#include \"gstmarshal.h\"" >> gstmarshal.c
glib-genmarshal --body --prefix=gst_marshal $(srcdir)/gstmarshal.list >> gstmarshal.c
##### end built sources #####
# Don't want the generated marshal files in the dist
dist-hook:
rm -f $(distdir)/gstmarshal.c $(distdir)/gstmarshal.h
# Clean generated files
distclean-local:
rm -f $(top_builddir)/gst/gstmarshal.c $(top_builddir)/gst/gstmarshal.h
libgstincludedir = $(includedir)/gst
libgstinclude_HEADERS = \
cothreads.h \
gst.h \
gstconfig.h \
$(GST_OBJECT_MODEL_HDR) \
gstobject.h \
gsttypes.h \
gstautoplug.h \
gstbin.h \
gstbuffer.h \
gstbufferpool.h \
gstcaps.h \
gstclock.h \
gstcpu.h \
gstdata.h \
gstelement.h \
gstevent.h \
gstextratypes.h \
gstinfo.h \
gstlog.h \
gstpad.h \
gstpipeline.h \
gstplugin.h \
gstpluginfeature.h \
gstprops.h \
gstqueue.h \
gstscheduler.h \
gstthread.h \
gsttrace.h \
gsttype.h \
gsttypefind.h \
gstutils.h \
gsttimecache.h \
gstparse.h \
gstversion.h \
gstxml.h
noinst_HEADERS = \
gst_private.h \
gstarch.h \
gstpropsprivate.h
libgst_la_CFLAGS = -D_GNU_SOURCE -DGST_CONFIG_DIR=\""$(GST_CONFIG_DIR)"\" \
$(LIBGST_CFLAGS) \
-D_GNU_SOURCE \
-DG_LOG_DOMAIN=g_log_domain_gstreamer \
-DGST_CONFIG_DIR=\""$(GST_CONFIG_DIR)"\" \
-W -Wpointer-arith -Wbad-function-cast \
-Wcast-align -Wsign-compare \
-Wmissing-prototypes -Wmissing-declarations \
-Wnested-externs \
-Winline -Wno-unused
libgst_la_LIBADD = $(LIBGST_LIBS)
libgst_la_LDFLAGS = -version-info $(GST_LIBVERSION) -release $(GST_VERSION)
EXTRA_DIST = ROADMAP