Fix build system for the new element binding generator

This commit is contained in:
Sebastian Dröge 2009-05-27 20:58:19 +02:00
parent 32ba2488a2
commit 33d93e8e87
6 changed files with 62 additions and 47 deletions

View File

@ -1,4 +1,4 @@
SUBDIRS = coreplugins baseplugins . glue SUBDIRS = . glue coreplugins baseplugins
TARGET = $(ASSEMBLY) TARGET = $(ASSEMBLY)
noinst_DATA = $(TARGET) noinst_DATA = $(TARGET)
@ -136,13 +136,18 @@ generated-stamp: $(API) $(build_customs) $(overrides)
&& mv generated/ObjectManager.cs.tmp generated/ObjectManager.cs \ && mv generated/ObjectManager.cs.tmp generated/ObjectManager.cs \
&& touch generated-stamp && touch generated-stamp
coreplugins/*.cs: $(API) coreplugins/*.custom coreplugins/inspect/*.raw
$(MAKE) -C coreplugins
baseplugins/*.cs: $(API) baseplugins/*.custom baseplugins/inspect/*.raw
$(MAKE) -C baseplugins
$(KEYFILE): $(top_srcdir)/gstreamer-sharp.snk $(KEYFILE): $(top_srcdir)/gstreamer-sharp.snk
cp $(top_srcdir)/gstreamer-sharp.snk . cp $(top_srcdir)/gstreamer-sharp.snk .
$(ASSEMBLY): $(build_sources) generated-stamp $(KEYFILE) $(ASSEMBLY): $(build_sources) generated-stamp $(KEYFILE)
$(CSC) -nowarn:0612 -debug -unsafe -out:$(ASSEMBLY) -target:library $(references) $(csc_build_sources) $(GENERATED_SOURCES) $(CSC) -nowarn:0612 -debug -unsafe -out:$(ASSEMBLY) -target:library $(references) $(csc_build_sources) $(GENERATED_SOURCES)
plugins-update: plugins-update:
$(MAKE) -C coreplugins plugins-update $(MAKE) -C coreplugins plugins-update
$(MAKE) -C baseplugins plugins-update $(MAKE) -C baseplugins plugins-update

View File

@ -1,24 +1,29 @@
ELEMENTS = decodebin playbin xvimagesink ELEMENTS = decodebin playbin xvimagesink
EXTRA_DIST = *.custom inspect/*.raw NAMESPACE = Gst.BasePlugins
CLEANFILES = $(srcdir)/*.xml $(srcdir)/*.cs element-bindings INSPECT_FILES = $(patsubst %,inspect/%.raw,$(ELEMENTS))
CUSTOM_FILES = decodebin.custom
METADATA_FILES = playbin.metadata
CS_FILES = $(patsubst %,%.cs,$(ELEMENTS))
XML_FILES = $(patsubst %,%.xml,$(ELEMENTS))
plugins-update: $(top_builddir)/elementgen/gsts-xmlinspect EXTRA_DIST = $(CUSTOM_FILES) $(INSPECT_FILES)
for element in $(ELEMENTS); do \ CLEANFILES = $(XML_FILES) $(CS_FILES)
$(top_builddir)/elementgen/gsts-xmlinspect $$element > inspect/$$element.raw; \
done
all: element-bindings plugins-update: $(top_builddir)/elementgen/gsts-xmlinspect $(INSPECT_FILES)
inspect/%.raw: $(top_builddir)/elementgen/gsts-xmlinspect
$(top_builddir)/elementgen/gsts-xmlinspect $(patsubst inspect/%.raw,%,$@) > $@
element-bindings: $(srcdir)/../gstreamer-api.xml $(srcdir)/inspect/*.raw all: $(XML_FILES) $(CS_FILES)
for element in $(ELEMENTS); do \
cp inspect/$$element.raw $$element.xml ; \ %.cs: $(top_builddir)/elementgen/element-gen.exe $(CUSTOM_FILES) $(XML_FILES)
if [ -e $$element.metadata ]; then \ $(MONO) $(top_builddir)/elementgen/element-gen.exe --namespace=$(NAMESPACE) \
$(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$$element.xml \ --api=$(srcdir)/../gstreamer-api.xml --input=$(patsubst %.cs,%,$@) > $@
--metadata=$$element.metadata ; \
fi ; \ %.xml: $(top_builddir)/parser/gst-gapi-fixup.exe $(INSPECT_FILES) $(METADATA_FILES)
$(MONO) $(top_builddir)/elementgen/element-gen.exe --namespace=Gst.BasePlugins \ cp $(patsubst %.xml,inspect/%.raw,$@) $@
--api=$(srcdir)/../gstreamer-api.xml --input=$$element > $$element.cs ; \ if [ -e $(patsubst %.xml,%.metadata,$@) ]; then \
done $(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$@ \
touch element-bindings --metadata=$(patsubst %.xml,%.metadata,$@) ; \
fi

View File

@ -19,11 +19,11 @@
</object> </object>
</object> </object>
<interfaces> <interfaces>
<interface name="GstPropertyProbe" />
<interface name="GstImplementsInterface" /> <interface name="GstImplementsInterface" />
<interface name="GstNavigation" /> <interface name="GstNavigation" />
<interface name="GstXOverlay" /> <interface name="GstXOverlay" />
<interface name="GstColorBalance" /> <interface name="GstColorBalance" />
<interface name="GstPropertyProbe" />
</interfaces> </interfaces>
<pad-templates> <pad-templates>
<pad-template> <pad-template>

View File

@ -1,25 +1,30 @@
#ELEMENTS = capsfilter fakesrc fakesink fdsrc fdsink filesrc filesink identity queue tee typefind multiqueue #ELEMENTS = capsfilter fakesrc fakesink fdsrc fdsink filesrc filesink identity queue tee typefind multiqueue
ELEMENTS = capsfilter typefind ELEMENTS = capsfilter typefind
EXTRA_DIST = *.custom inspect/*.raw NAMESPACE = Gst.CorePlugins
CLEANFILES = $(srcdir)/*.xml $(srcdir)/*.cs element-bindings INSPECT_FILES = $(patsubst %,inspect/%.raw,$(ELEMENTS))
CUSTOM_FILES = typefind.custom
METADATA_FILES =
CS_FILES = $(patsubst %,%.cs,$(ELEMENTS))
XML_FILES = $(patsubst %,%.xml,$(ELEMENTS))
plugins-update: $(top_builddir)/elementgen/gsts-xmlinspect EXTRA_DIST = $(CUSTOM_FILES) $(INSPECT_FILES)
for element in $(ELEMENTS); do \ CLEANFILES = $(XML_FILES) $(CS_FILES)
$(top_builddir)/elementgen/gsts-xmlinspect $$element > inspect/$$element.raw; \
done
all: element-bindings plugins-update: $(top_builddir)/elementgen/gsts-xmlinspect $(INSPECT_FILES)
inspect/%.raw: $(top_builddir)/elementgen/gsts-xmlinspect
$(top_builddir)/elementgen/gsts-xmlinspect $(patsubst inspect/%.raw,%,$@) > $@
element-bindings: $(srcdir)/../gstreamer-api.xml $(srcdir)/inspect/*.raw all: $(XML_FILES) $(CS_FILES)
for element in $(ELEMENTS); do \
cp inspect/$$element.raw $$element.xml ; \ %.cs: $(top_builddir)/elementgen/element-gen.exe $(CUSTOM_FILES) $(XML_FILES)
if [ -e $$element.metadata ]; then \ $(MONO) $(top_builddir)/elementgen/element-gen.exe --namespace=$(NAMESPACE) \
$(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$$element.xml \ --api=$(srcdir)/../gstreamer-api.xml --input=$(patsubst %.cs,%,$@) > $@
--metadata=$$element.metadata ; \
fi ; \ %.xml: $(top_builddir)/parser/gst-gapi-fixup.exe $(INSPECT_FILES) $(METADATA_FILES)
$(MONO) $(top_builddir)/elementgen/element-gen.exe --namespace=Gst.CorePlugins \ cp $(patsubst %.xml,inspect/%.raw,$@) $@
--api=$(srcdir)/../gstreamer-api.xml --input=$$element > $$element.cs ; \ if [ -e $(patsubst %.xml,%.metadata,$@) ]; then \
done $(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$@ \
touch element-bindings --metadata=$(patsubst %.xml,%.metadata,$@) ; \
fi

View File

@ -20,14 +20,14 @@
</interfaces> </interfaces>
<pad-templates> <pad-templates>
<pad-template> <pad-template>
<name>src</name> <name>sink</name>
<direction>src</direction> <direction>sink</direction>
<presence>always</presence> <presence>always</presence>
<caps>ANY</caps> <caps>ANY</caps>
</pad-template> </pad-template>
<pad-template> <pad-template>
<name>sink</name> <name>src</name>
<direction>sink</direction> <direction>src</direction>
<presence>always</presence> <presence>always</presence>
<caps>ANY</caps> <caps>ANY</caps>
</pad-template> </pad-template>

View File

@ -18,14 +18,14 @@
</interfaces> </interfaces>
<pad-templates> <pad-templates>
<pad-template> <pad-template>
<name>src</name> <name>sink</name>
<direction>src</direction> <direction>sink</direction>
<presence>always</presence> <presence>always</presence>
<caps>ANY</caps> <caps>ANY</caps>
</pad-template> </pad-template>
<pad-template> <pad-template>
<name>sink</name> <name>src</name>
<direction>sink</direction> <direction>src</direction>
<presence>always</presence> <presence>always</presence>
<caps>ANY</caps> <caps>ANY</caps>
</pad-template> </pad-template>