does this little tweak fix the make distcheck in gst/types not finding the gst/gst...
[platform/upstream/gstreamer.git] / gst / Makefile.am
index 2fe397f..4d09d49 100644 (file)
 # cheap trick to build . first...
-SUBDIRS = . types meta elements
 
 lib_LTLIBRARIES = libgst.la
 
-GSTOBJECT_SRCS =       \
-       gstobject.c
-GSTOBJECT_INCLUDES =   \
-       gstobject.h
-
 if HAVE_CPU_I386
 GSTARCH_SRCS = gstcpuid_i386.s
 else
 GSTARCH_SRCS = 
 endif
 
-EXTRA_libgst_la_SOURCES =      \
-       gstcpuid_i386.s
-
-libgst_la_SOURCES =    \
-       gst.c           \
-       $(GSTOBJECT_SRCS)       \
-       gstpad.c        \
-       gstautoplug.c   \
-       gstbuffer.c     \
-       gstbufferpool.c \
-       gstclock.c      \
-       gstcpu.c        \
-       $(GSTARCH_SRCS) \
-       gstelement.c    \
+#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
+
+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     \
-       gstextratypes.c \
-       gstbin.c        \
-       gstpipeline.c   \
-       gstthread.c     \
-       gstsrc.c        \
-       gstfilter.c     \
-       gstsink.c       \
-       gstconnection.c \
-       gsttype.c       \
-       gstcaps.c       \
-       gstprops.c      \
-       gstplugin.c     \
-       gstutils.c      \
-       gsttrace.c      \
-       gstmeta.c       \
-       gsttee.c        \
-       gstxml.c        \
-       cothreads.c     \
-       gstscheduler.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 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 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 $(builddir)/gstmarshal.c $(builddir)/gstmarshal.h
 
 libgstincludedir = $(includedir)/gst
-libgstinclude_HEADERS =        \
-       gst.h           \
-       gstlog.h        \
-       $(GSTOBJECT_INCLUDES)   \
-       gstpad.h        \
-       gstautoplug.h   \
-       gstbuffer.h     \
-       gstbufferpool.h \
-       gstclock.h      \
-       gstcpu.h        \
-       gstelement.h    \
-       gstextratypes.h \
-       gstbin.h        \
-       gstpipeline.h   \
-       gstthread.h     \
-       gstsrc.h        \
-       gstfilter.h     \
-       gstsink.h       \
-       gstconnection.h \
-       gsttype.h       \
-       gstcaps.h       \
-       gstprops.h      \
-       gstplugin.h     \
-       gstutils.h      \
-       gsttrace.h      \
-       gstmeta.h       \
-       gsttee.h        \
-       gstxml.h        \
-       gstdebug.h      \
-       cothreads.h     \
-       gstscheduler.h
-
-noinst_HEADERS =       \
-       gstarch.h       \
-       gsti386.h       \
-       gstppc.h        
-
-CFLAGS += -g -O6 -Wall 
-
-libgst_la_LIBADD = $(GLIB_LIBS) $(GTK_LIBS) $(XML_LIBS)
-libgst_la_LDFLAGS = -version-info $(STREAMER_CURRENT):$(STREAMER_REVISION):$(STREAMER_AGE)
+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) $(XML_CFLAGS) $(GLIB_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 = $(XML_LIBS) $(GLIB_LIBS)
+
+libgst_la_LDFLAGS = -version-info $(GST_LIBVERSION)
 
 EXTRA_DIST = ROADMAP