summaryrefslogtreecommitdiff
path: root/gstreamer-sharp/baseplugins/Makefile.am
blob: c4cb6aa820eab795534fe2739ca15c1bb1f21cf0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
ELEMENTS = ximagesink xvimagesink decodebin2 playbin2

NAMESPACE = Gst.BasePlugins
INSPECT_FILES = $(patsubst %,$(srcdir)/inspect/%.raw,$(ELEMENTS))
METADATA_FILES = $(srcdir)/decodebin2.metadata $(srcdir)/playbin2.metadata
CS_FILES = $(patsubst %,$(builddir)/generated/%.cs,$(ELEMENTS))
XML_FILES = $(patsubst %,$(builddir)/%.xml,$(ELEMENTS))

EXTRA_DIST = $(METADATA_FILES) $(INSPECT_FILES)
CLEANFILES = $(XML_FILES) $(CS_FILES)

plugins-update: $(patsubst $(srcdir)/inspect/%.raw, inspect-%, $(INSPECT_FILES))
inspect-%:
	$(top_builddir)/elementgen/gsts-xmlinspect $(patsubst inspect-%,%,$@) > inspect/$(patsubst inspect-%,%,$@).raw

all: $(XML_FILES) $(CS_FILES)
	touch generated

generated/%.cs: $(top_builddir)/elementgen/element-gen.exe $(top_builddir)/gstreamer-sharp/gstreamer-api.xml $(builddir)/%.xml
	@mkdir -p generated
	$(MONO) $(top_builddir)/elementgen/element-gen.exe --namespace=$(NAMESPACE) \
		--api=$(top_builddir)/gstreamer-sharp/gstreamer-api.xml --input=$(patsubst generated/%.cs,$(builddir)/%.xml,$@) --customfile=$(patsubst generated/%.cs,$(srcdir)/%.custom,$@) --interfacesdir=$(top_srcdir)/elementgen/interfaces > $@

%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe $(srcdir)/inspect/%.raw $(srcdir)/%.metadata
	cp $(patsubst %.xml,$(srcdir)/inspect/%.raw,$@) $(builddir)/$@
	chmod +w $(builddir)/$@
	$(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$(builddir)/$@ --metadata=$(patsubst %.xml,$(srcdir)/%.metadata,$@)

%.xml: $(top_builddir)/parser/gst-gapi-fixup.exe $(srcdir)/inspect/%.raw 
	cp $(patsubst %.xml,$(srcdir)/inspect/%.raw,$@) $(builddir)/$@