gstreamer/gstreamer-sharp/Makefile.am
Sebastian Dröge cf9fd6ec9a Extend the code generator to handle GstMiniObject and implement Gst.MiniObject
Also fix indention everywhere and change code to use Gst.MiniObject.GetObject()
instead of GLib.Opaque.GetOpaque().

It's currently not possible to implement or use GInterfaces on mini objects
but apart from that this should be a great improvement, especially new
mini object classes can be defined in C# now.
2009-05-20 17:32:03 +02:00

138 lines
3.7 KiB
Makefile

SUBDIRS = . glue
TARGET = $(ASSEMBLY)
noinst_DATA = $(TARGET)
APIS = $(API)
API = gstreamer-api.xml
RAW_API = gstreamer-api.raw
METADATA = Gstreamer.metadata
SYMBOLS=gstreamer-symbols.xml
ASSEMBLY_NAME = gstreamer-sharp
references = $(GLIBSHARP_LIBS)
KEYFILE = gstreamer-sharp.snk
ASSEMBLY = $(ASSEMBLY_NAME).dll
gapidir = $(datadir)/gapi
gapi_DATA = $(APIS)
glue_includes="gst/gst.h gst/interfaces/colorbalance.h gst/interfaces/colorbalancechannel.h gst/interfaces/tuner.h gst/interfaces/tunerchannel.h gst/interfaces/tunernorm.h"
CLEANFILES = $(ASSEMBLY) $(ASSEMBLY).mdb generated-stamp generated/*.cs glue/generated.c $(API) $(KEYFILE)
DISTCLEANFILES = $(ASSEMBLY).config AssemblyInfo.cs
MAINTAINERCLEANFILES = Makefile.in
install-data-local:
@if test -n '$(TARGET)'; then \
echo "$(GACUTIL) /i $(ASSEMBLY) /f $(GACUTIL_FLAGS)"; \
$(GACUTIL) /i $(ASSEMBLY) /f $(GACUTIL_FLAGS) || exit 1; \
fi
uninstall-local:
@if test -n '$(TARGET)'; then \
echo "$(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS)"; \
$(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS) || exit 1; \
fi
clean-local:
rm -rf generated
sources = \
DynamicSignal.cs \
BindingHelper.cs \
Application.cs \
Version.cs \
AssemblyInfo.cs \
GError.cs \
Value.cs \
PropertyInfo.cs \
EnumInfo.cs \
Iterator.cs \
MiniObject.cs \
GstSharp.PadQueryTypeFunctionNative.cs \
PadQueryTypeFunction.cs \
TypeFindDelegates.cs \
PresetDefault.cs \
MixerMessage.cs \
NavigationMessage.cs \
NavigationEvent.cs \
NavigationQuery.cs \
coreplugins/*.cs \
baseplugins/*.cs
overrides = \
override/URIHandlerAdapter.cs \
override/ColorBalanceAdapter.cs \
override/ColorBalance.cs \
override/Mixer.cs \
override/MixerAdapter.cs \
override/PropertyProbe.cs \
override/PropertyProbeAdapter.cs \
override/ProbeNeededHandler.cs \
override/NavigationAdapter.cs
build_sources = $(addprefix $(srcdir)/, $(sources))
customs = \
Bin.custom \
Buffer.custom \
Bus.custom \
Caps.custom \
ColorBalanceChannel.custom \
Clock.custom \
ClockEntry.custom \
Debug.custom \
Element.custom \
Message.custom \
Event.custom \
Pad.custom \
Parse.custom \
Object.custom \
PadTemplate.custom \
Plugin.custom \
Task.custom \
IndexEntry.custom \
Index.custom \
IndexFactory.custom \
Registry.custom \
Query.custom \
Structure.custom \
Tag.custom \
TagList.custom \
TypeFind.custom \
TypeFindFactory.custom \
MixerTrack.custom \
TunerNorm.custom \
TunerChannel.custom
build_customs = $(addprefix $(srcdir)/, $(customs))
EXTRA_DIST = \
$(RAW_API) \
$(SYMBOLS) \
$(METADATA) \
$(customs) \
$(sources) \
$(overrides) \
$(ASSEMBLY).config.in
$(API): $(srcdir)/$(RAW_API) $(srcdir)/$(METADATA) $(srcdir)/$(SYMBOLS)
cp $(srcdir)/$(RAW_API) $(API)
chmod u+w $(API)
$(MONO) $(top_builddir)/parser/gst-gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) \
--symbols=$(srcdir)/$(SYMBOLS)
generated-stamp: $(API) $(build_customs) $(overrides)
$(MONO) $(top_builddir)/generator/gst-gapi_codegen.exe --generate $(API) \
--outdir=generated --customdir=$(srcdir) --assembly-name=$(ASSEMBLY_NAME) \
--gluelib-name=gstreamersharpglue-0.10 --glue-filename=glue/generated.c \
--glue-includes=$(glue_includes) \
&& cp $(overrides) $(builddir)/generated \
&& sed -i 's;public class ObjectManager;internal class ObjectManager;g' generated/ObjectManager.cs \
&& touch generated-stamp
$(KEYFILE): $(top_srcdir)/gstreamer-sharp.snk
cp $(top_srcdir)/gstreamer-sharp.snk .
$(ASSEMBLY): $(build_sources) generated-stamp $(KEYFILE)
$(CSC) /nowarn:0612 /debug /unsafe /out:$(ASSEMBLY) /target:library $(references) $(build_sources) $(GENERATED_SOURCES)