mirror of
https://github.com/brl/mutter.git
synced 2024-12-23 11:32:04 +00:00
4bd3fa583e
* clutter/clutter-private.h: Remove inclusion of backend-specific headers; update the main context object; add the declarations for the event queue functions. * clutter/clutter-backend.[ch]: Add the abstract ClutterBackend object, which holds backend-specific settings, the main stage, and the event queue. Every backend must implement a subclass of ClutterBackend and ClutterStage. * clutter/clutter-feature.c: Protect the GLX specific calls behing #ifdef HAVE_CLUTTER_GLX. * clutter/clutter-actor.c: * clutter/clutter-group.c: * clutter/clutter-clone-texture.c: Include GL/gl.h * clutter/clutter-event.[ch]: Update public API and implement the event queue private API; hold a reference on the event objects; move out the keysym-to-unicode table; add the new event types. * clutter/clutter-color.h: Include clutter-fixed.h * clutter/clutter-main.c: Update API; get the main stage from the backend object; process the event received from the queue; lock/unlock the main mutex if we have one; move the initialisation process sooner in the init sequence, in order to have the backend object when we check for options; call the backed vfuncs in the pre/post parse hooks. * clutter/clutter-stage.c: Make ClutterStage and abstract class, implemented by the backends. * clutter/clutter/glx/clutter-glx.h: * clutter/clutter/glx/clutter-backend-glx.[ch]: * clutter/clutter/glx/clutter-event-glx.c: * clutter/clutter/glx/clutter-stage-glx.[ch]: * clutter/clutter/glx/Makefile.am: Add the GLX backend. * clutter/clutter/egl/clutter-backend-egl.[ch]: * clutter/clutter/egl/clutter-event-egl.c: * clutter/clutter/egl/clutter-stage-egl.[ch]: * clutter/clutter/egl/Makefile.am: Add the stub for a EGL backend. * examples/*.c: Update for the new API.
189 lines
5.0 KiB
Makefile
189 lines
5.0 KiB
Makefile
NULL =
|
|
|
|
SUBDIRS = pango $(clutterbackend)
|
|
|
|
DIST_SUBDIRS = pango glx egl
|
|
|
|
target = $(clutterbackend)
|
|
|
|
MARSHALFILES = clutter-marshal.c clutter-marshal.h
|
|
ENUMFILES = clutter-enum-types.c clutter-enum-types.h
|
|
STAMPFILES = stamp-clutter-marshal.h stamp-clutter-enum-types.h
|
|
GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
|
|
GLIB_MKENUMS=`pkg-config --variable=glib_mkenums glib-2.0`
|
|
|
|
INCLUDES = \
|
|
-I$(top_srcdir) \
|
|
-I$(top_srcdir)/clutter/pango \
|
|
-DPREFIX=\""$(prefix)"\" \
|
|
-DLIBDIR=\""$(libdir)"\" \
|
|
-DDATADIR=\""$(datadir)"\" \
|
|
-DG_DISABLE_DEPRECATED \
|
|
-DG_LOG_DOMAIN=\"Clutter\" \
|
|
$(GCC_FLAGS) \
|
|
$(CLUTTER_CFLAGS) \
|
|
$(CLUTTER_DEBUG_CFLAGS) \
|
|
$(NULL)
|
|
|
|
LDADD = \
|
|
-version-info $(LT_VERSION_INFO) \
|
|
-export-dynamic \
|
|
-rpath $(libdir) \
|
|
$(NULL)
|
|
|
|
BUILT_SOURCES = $(MARSHALFILES) $(ENUMFILES)
|
|
|
|
source_h = \
|
|
$(srcdir)/clutter-actor.h \
|
|
$(srcdir)/clutter-alpha.h \
|
|
$(srcdir)/clutter-behaviour.h \
|
|
$(srcdir)/clutter-behaviour-opacity.h \
|
|
$(srcdir)/clutter-behaviour-path.h \
|
|
$(srcdir)/clutter-behaviour-scale.h \
|
|
$(srcdir)/clutter-clone-texture.h \
|
|
$(srcdir)/clutter-color.h \
|
|
$(srcdir)/clutter-event.h \
|
|
$(srcdir)/clutter-feature.h \
|
|
$(srcdir)/clutter-fixed.h \
|
|
$(srcdir)/clutter-group.h \
|
|
$(srcdir)/clutter-keysyms.h \
|
|
$(srcdir)/clutter-label.h \
|
|
$(srcdir)/clutter-main.h \
|
|
$(srcdir)/clutter-media.h \
|
|
$(srcdir)/clutter-rectangle.h \
|
|
$(srcdir)/clutter-stage.h \
|
|
$(srcdir)/clutter-texture.h \
|
|
$(srcdir)/clutter-timeline.h \
|
|
$(srcdir)/clutter-util.h \
|
|
$(srcdir)/clutter-version.h \
|
|
$(NULL)
|
|
|
|
clutter-marshal.h: stamp-clutter-marshal.h
|
|
@true
|
|
stamp-clutter-marshal.h: clutter-marshal.list
|
|
$(GLIB_GENMARSHAL) \
|
|
--prefix=clutter_marshal \
|
|
--header \
|
|
$(srcdir)/clutter-marshal.list > xgen-cmh \
|
|
&& (cmp -s xgen-cmh clutter-marshal.h || cp xgen-cmh clutter-marshal.h ) \
|
|
&& rm -f xgen-cmh \
|
|
&& echo timestamp > $(@F)
|
|
|
|
clutter-marshal.c: clutter-marshal.h Makefile
|
|
( echo "#include \"clutter-marshal.h\"" ; \
|
|
$(GLIB_GENMARSHAL) \
|
|
--prefix=clutter_marshal \
|
|
--body \
|
|
$(srcdir)/clutter-marshal.list --body ) >> xgen-cmc \
|
|
&& cp xgen-cmc clutter-marshal.c \
|
|
&& rm -f xgen-cmc
|
|
|
|
clutter-enum-types.h: stamp-clutter-enum-types.h
|
|
@true
|
|
stamp-clutter-enum-types.h: $(source_h) Makefile
|
|
$(GLIB_MKENUMS) \
|
|
--fhead "#ifndef __CLUTTER_ENUM_TYPES_H__\n" \
|
|
--fhead "#define __CLUTTER_ENUM_TYPES_H__\n\n" \
|
|
--fhead "G_BEGIN_DECLS\n\n" \
|
|
--ftail "G_END_DECLS\n\n" \
|
|
--ftail "#endif\n" \
|
|
--fprod "/* --- @filename@ --- */\n" \
|
|
--eprod "#define CLUTTER_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \
|
|
--eprod "GType @enum_name@_get_type (void);\n\n" \
|
|
$(source_h) >> xgen-ceth \
|
|
&& (cmp xgen-ceth clutter-enum-types.h || cp xgen-ceth clutter-enum-types.h) \
|
|
&& rm -f xgen-ceth \
|
|
&& echo timestamp > $(@F)
|
|
|
|
clutter-enum-types.c: clutter-enum-types.h
|
|
$(GLIB_MKENUMS) \
|
|
--fhead "#include <glib-object.h>\n" \
|
|
--fhead "#include \"clutter-enum-types.h\"\n" \
|
|
--fprod "\n/* enumerations from \"@filename@\" */" \
|
|
--fprod "\n#include \"@filename@\"" \
|
|
--vhead "static const G@Type@Value _@enum_name@_values[] = {" \
|
|
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
|
|
--vtail " { 0, NULL, NULL }\n};\n\n" \
|
|
--vtail "GType\n@enum_name@_get_type (void)\n{\n" \
|
|
--vtail " static GType type = 0;\n\n" \
|
|
--vtail " if (!type)\n" \
|
|
--vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \
|
|
--vtail " return type;\n}\n\n" \
|
|
$(source_h) >> xgen-cetc \
|
|
&& cp xgen-cetc clutter-enum-types.c \
|
|
&& rm -f xgen-cetc
|
|
|
|
CLEANFILES = $(STAMPFILES)
|
|
|
|
source_c = \
|
|
clutter-actor.c \
|
|
clutter-alpha.c \
|
|
clutter-backend.c \
|
|
clutter-behaviour.c \
|
|
clutter-behaviour-opacity.c \
|
|
clutter-behaviour-path.c \
|
|
clutter-behaviour-scale.c \
|
|
clutter-color.c \
|
|
clutter-clone-texture.c \
|
|
clutter-enum-types.c \
|
|
clutter-event.c \
|
|
clutter-feature.c \
|
|
clutter-fixed.c \
|
|
clutter-group.c \
|
|
clutter-label.c \
|
|
clutter-main.c \
|
|
clutter-marshal.c \
|
|
clutter-media.c \
|
|
clutter-stage.c \
|
|
clutter-rectangle.c \
|
|
clutter-texture.c \
|
|
clutter-timeline.c \
|
|
clutter-util.c \
|
|
$(NULL)
|
|
|
|
source_h_priv = \
|
|
clutter-keysyms-table.h \
|
|
clutter-backend.h \
|
|
clutter-debug.h \
|
|
clutter-private.h \
|
|
$(NULL)
|
|
|
|
|
|
libclutter_glx_0_3_la_LIBADD = \
|
|
$(CLUTTER_LIBS) \
|
|
pango/libpangoclutter.la \
|
|
glx/libclutter-glx.la
|
|
|
|
libclutter_glx_0_3_la_SOURCES = \
|
|
$(source_c) \
|
|
$(source_h) \
|
|
$(source_h_priv)
|
|
|
|
#libclutter_egl_0_3_la_LIBADD = \
|
|
# $(CLUTTER_LIBS) \
|
|
# pango/libpangoclutter.la \
|
|
# egl/libclutter-egl.la
|
|
#libclutter_egl_0_3_la_SOURCES = \
|
|
# $(source_c) \
|
|
# $(source_h) \
|
|
# $(source_h_priv)
|
|
|
|
lib_LTLIBRARIES = $(clutterbackendlib)
|
|
|
|
EXTRA_LTLIBRARIES = libclutter-glx-0.3.la
|
|
|
|
clutterdir = $(includedir)/clutter-@CLUTTER_MAJORMINOR@/clutter
|
|
clutter_HEADERS = \
|
|
$(source_h) \
|
|
clutter-enum-types.h \
|
|
clutter-version.h \
|
|
clutter.h
|
|
|
|
DISTCLEANFILES = \
|
|
$(ENUMFILES) \
|
|
$(MARSHALFILES) \
|
|
clutter-version.h \
|
|
$(NULL)
|
|
|
|
EXTRA_DIST = clutter-marshal.list clutter-version.h.in
|