2009-05-27 18:58:19 +00:00
SUBDIRS = . glue coreplugins baseplugins
2006-05-19 19:24:35 +00:00
TARGET = $( ASSEMBLY)
noinst_DATA = $( TARGET)
APIS = $( API)
API = gstreamer-api.xml
RAW_API = gstreamer-api.raw
METADATA = Gstreamer.metadata
2006-05-20 22:35:40 +00:00
SYMBOLS = gstreamer-symbols.xml
2006-05-19 19:24:35 +00:00
ASSEMBLY_NAME = gstreamer-sharp
references = $( GLIBSHARP_LIBS)
KEYFILE = gstreamer-sharp.snk
ASSEMBLY = $( ASSEMBLY_NAME) .dll
gapidir = $( datadir) /gapi
gapi_DATA = $( APIS)
2009-06-05 19:02:16 +00:00
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 gst/cdda/gstcddabasesrc.h"
2006-05-19 19:24:35 +00:00
2009-05-26 13:34:31 +00:00
CLEANFILES = $( ASSEMBLY) $( ASSEMBLY) .mdb $( ASSEMBLY_NAME) .pdb generated-stamp generated/*.cs glue/generated.c $( API) $( KEYFILE)
2006-05-19 19:24:35 +00:00
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
2006-05-21 18:58:44 +00:00
sources = \
2006-07-12 22:47:30 +00:00
DynamicSignal.cs \
2006-05-21 18:58:44 +00:00
Application.cs \
2006-05-20 22:35:40 +00:00
Version.cs \
2006-05-21 18:58:44 +00:00
AssemblyInfo.cs \
2009-04-07 09:02:08 +00:00
GError.cs \
2009-04-11 15:52:50 +00:00
Value.cs \
2009-05-12 12:31:57 +00:00
PropertyInfo.cs \
2009-05-12 13:27:13 +00:00
EnumInfo.cs \
2009-05-20 15:29:36 +00:00
MiniObject.cs \
2009-06-03 19:10:57 +00:00
Marshaller.cs \
2009-04-28 19:03:44 +00:00
GstSharp.PadQueryTypeFunctionNative.cs \
2009-04-30 11:10:15 +00:00
PadQueryTypeFunction.cs \
2009-05-06 10:25:02 +00:00
TypeFindDelegates.cs \
2009-05-06 12:09:23 +00:00
PresetDefault.cs \
2009-05-09 18:04:43 +00:00
MixerMessage.cs \
2009-05-14 14:50:16 +00:00
NavigationMessage.cs \
NavigationEvent.cs \
NavigationQuery.cs \
2009-08-05 14:57:20 +00:00
coreplugins/*.cs \
glib-sharp/*.cs
2006-05-19 19:24:35 +00:00
2009-05-04 10:27:25 +00:00
overrides = \
2009-08-14 07:04:55 +00:00
$( srcdir) /override/URIHandlerAdapter.cs \
$( srcdir) /override/ColorBalanceAdapter.cs \
$( srcdir) /override/Mixer.cs \
$( srcdir) /override/MixerAdapter.cs \
$( srcdir) /override/PropertyProbe.cs \
$( srcdir) /override/PropertyProbeAdapter.cs \
$( srcdir) /override/ProbeNeededHandler.cs \
$( srcdir) /override/NavigationAdapter.cs
2009-05-04 10:27:25 +00:00
2006-05-19 19:24:35 +00:00
build_sources = $( addprefix $( srcdir) /, $( sources) )
2009-05-26 13:35:00 +00:00
i f U S E _ M O N O _ C O M P I L E R
csc_build_sources = $( build_sources)
e l s e
csc_build_sources = $( subst /,\\ ,$( build_sources) )
e n d i f
2006-05-19 19:24:35 +00:00
customs = \
2009-06-05 19:26:46 +00:00
AppSink.custom \
AppSrc.custom \
2006-05-19 19:24:35 +00:00
Bin.custom \
2009-06-20 09:35:35 +00:00
Pipeline.custom \
2009-04-08 07:29:38 +00:00
Buffer.custom \
2006-05-19 19:24:35 +00:00
Bus.custom \
2006-08-20 22:37:48 +00:00
Caps.custom \
2009-05-08 15:23:55 +00:00
ColorBalanceChannel.custom \
2006-05-19 19:24:35 +00:00
Clock.custom \
2009-05-07 07:42:17 +00:00
ClockEntry.custom \
2006-05-19 19:24:35 +00:00
Debug.custom \
Element.custom \
2009-05-28 08:24:34 +00:00
ElementFactory.custom \
2006-05-19 19:24:35 +00:00
Message.custom \
2009-04-23 12:32:08 +00:00
Event.custom \
2006-08-05 21:07:11 +00:00
Pad.custom \
2009-04-08 08:12:48 +00:00
Parse.custom \
2009-04-04 11:33:40 +00:00
Object.custom \
2009-04-15 12:40:09 +00:00
PadTemplate.custom \
2009-04-27 10:08:40 +00:00
Plugin.custom \
2009-04-27 10:34:20 +00:00
Task.custom \
2009-04-30 13:13:31 +00:00
IndexEntry.custom \
Index.custom \
2009-05-07 07:42:17 +00:00
IndexFactory.custom \
2009-06-20 08:50:00 +00:00
Iterator.custom \
2009-04-11 18:07:03 +00:00
Registry.custom \
2009-04-22 17:08:00 +00:00
Query.custom \
2009-04-18 14:43:15 +00:00
Structure.custom \
2009-04-21 12:31:29 +00:00
Tag.custom \
2009-04-30 11:10:15 +00:00
TagList.custom \
2009-05-07 07:42:17 +00:00
TypeFind.custom \
2009-05-09 18:04:43 +00:00
TypeFindFactory.custom \
2009-05-12 10:04:53 +00:00
MixerTrack.custom \
TunerNorm.custom \
2009-05-28 12:37:21 +00:00
TunerChannel.custom \
2009-05-31 19:10:45 +00:00
Adapter.custom \
Controller.custom \
2009-06-06 11:14:11 +00:00
ControlSource.custom \
VideoUtil.custom
2006-05-19 19:24:35 +00:00
2009-09-03 07:28:43 +00:00
plugin_csfiles = $( builddir) /coreplugins/generated/*.cs \
$( builddir) /baseplugins/generated/*.cs
2009-09-03 06:57:16 +00:00
2006-05-19 19:24:35 +00:00
build_customs = $( addprefix $( srcdir) /, $( customs) )
EXTRA_DIST = \
$( RAW_API) \
$( SYMBOLS) \
$( METADATA) \
$( customs) \
2009-09-03 08:21:50 +00:00
$( build_sources) \
2009-05-04 10:27:25 +00:00
$( overrides) \
2006-05-19 19:24:35 +00:00
$( ASSEMBLY) .config.in
$(API) : $( srcdir ) /$( RAW_API ) $( srcdir ) /$( METADATA ) $( srcdir ) /$( SYMBOLS )
2009-09-03 08:21:50 +00:00
cp $( srcdir) /$( RAW_API) $( builddir) /$( API)
2006-05-19 19:24:35 +00:00
chmod u+w $( API)
2009-09-03 08:21:50 +00:00
$( MONO) $( top_builddir) /parser/gst-gapi-fixup.exe --api= $( builddir) /$( API) \
--metadata= $( srcdir) /$( METADATA) --symbols= $( srcdir) /$( SYMBOLS)
2006-05-19 19:24:35 +00:00
2009-05-14 19:38:28 +00:00
generated-stamp : $( API ) $( build_customs ) $( overrides )
2009-09-03 08:21:50 +00:00
$( MONO) $( top_builddir) /generator/gst-gapi_codegen.exe --generate $( builddir) /$( API) \
--outdir= $( builddir) /generated --customdir= $( srcdir) --assembly-name= $( ASSEMBLY_NAME) \
--gluelib-name= gstreamersharpglue-0.10.dll --glue-filename= $( builddir) /glue/generated.c \
2009-04-07 07:45:54 +00:00
--glue-includes= $( glue_includes) \
2009-05-04 10:27:25 +00:00
&& cp $( overrides) $( builddir) /generated \
2009-09-03 08:21:50 +00:00
&& sed 's;public class ObjectManager;internal class ObjectManager;g' $( builddir) /generated/ObjectManager.cs > $( builddir) /generated/ObjectManager.cs.tmp \
&& mv $( builddir) /generated/ObjectManager.cs.tmp $( builddir) /generated/ObjectManager.cs \
2006-05-19 19:24:35 +00:00
&& touch generated-stamp
2009-09-03 07:28:43 +00:00
coreplugins/generated/*.cs : $( API ) $( builddir ) /coreplugins /generated
coreplugins/generated : $( API ) $( srcdir ) /coreplugins /*.metadata $( srcdir ) /coreplugins /inspect /*.raw
2009-05-27 18:58:19 +00:00
$( MAKE) -C coreplugins
2009-09-03 07:28:43 +00:00
baseplugins/generated/*.cs : $( API ) $( builddir ) /baseplugins /generated
baseplugins/generated : $( API ) $( srcdir ) /baseplugins /*.custom $( srcdir ) /baseplugins /*.metadata $( srcdir ) /baseplugins /inspect /*.raw
2009-05-27 18:58:19 +00:00
$( MAKE) -C baseplugins
2006-05-19 19:24:35 +00:00
$(KEYFILE) : $( top_srcdir ) /gstreamer -sharp .snk
cp $( top_srcdir) /gstreamer-sharp.snk .
2009-09-03 06:57:16 +00:00
$(ASSEMBLY) : $( build_sources ) generated -stamp $( KEYFILE ) $( plugin_csfiles )
$( CSC) -nowarn:0612 -debug -unsafe -out:$( ASSEMBLY) -target:library $( references) $( csc_build_sources) $( GENERATED_SOURCES) $( plugin_csfiles)
2006-05-19 19:24:35 +00:00
2009-05-26 13:32:27 +00:00
plugins-update :
$( MAKE) -C coreplugins plugins-update
$( MAKE) -C baseplugins plugins-update