does this little tweak fix the make distcheck in gst/types not finding the gst/gst...
[platform/upstream/gstreamer.git] / gst / Makefile.am
index 607ab9e..4d09d49 100644 (file)
@@ -1,5 +1,4 @@
 # cheap trick to build . first...
-SUBDIRS = . types meta elements
 
 lib_LTLIBRARIES = libgst.la
 
@@ -9,13 +8,59 @@ else
 GSTARCH_SRCS = 
 endif
 
-EXTRA_libgst_la_SOURCES =      \
-       gstcpuid_i386.s
+#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                   \
-       gstautoplug.c           \
+       $(GST_OBJECT_MODEL_SRC) \
+       gstobject.c             \
+       $(GST_AUTOPLUG_SRC)     \
        gstbin.c                \
        gstbuffer.c             \
        gstbufferpool.c         \
@@ -24,51 +69,104 @@ libgst_la_SOURCES =                \
        gstcpu.c                \
        gstelement.c            \
        gstelementfactory.c     \
+       gstevent.c              \
        gstextratypes.c         \
        gstinfo.c               \
-       gstmeta.c               \
-       gstobject.c             \
        gstpad.c                \
        gstpipeline.c           \
        gstplugin.c             \
+       gstpluginfeature.c      \
        gstprops.c              \
+       gstqueue.c              \
        gstscheduler.c          \
        gstthread.c             \
-       gsttrace.c              \
+       $(GST_TRACE_SRC)        \
        gsttype.c               \
+       $(GST_TYPEFIND_SRC)     \
        gstutils.c              \
-       gstxml.c                \
-       gstparse.c              \
-       $(GSTARCH_SRCS)
+       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
-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
+#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 =                \
        cothreads.h             \
        gst.h                   \
+       gstconfig.h             \
+       $(GST_OBJECT_MODEL_HDR) \
+       gstobject.h             \
+       gsttypes.h              \
        gstautoplug.h           \
        gstbin.h                \
        gstbuffer.h             \
@@ -76,34 +174,47 @@ libgstinclude_HEADERS =            \
        gstcaps.h               \
        gstclock.h              \
        gstcpu.h                \
+       gstdata.h               \
        gstelement.h            \
+       gstevent.h              \
        gstextratypes.h         \
        gstinfo.h               \
        gstlog.h                \
-       gstmeta.h               \
-       gstobject.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       \
-       gsti386.h       \
-       gstppc.h        \
-       gstalpha.h      \
        gstpropsprivate.h
 
-CFLAGS = $(LIBGST_CFLAGS)
-LIBS = $(LIBGST_LIBS)
-libgst_la_LDFLAGS = -version-info $(GSTREAMER_LIBVERSION)
+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