mirror of
https://github.com/brl/mutter.git
synced 2024-11-12 17:27:03 -05:00
c2081a076c
DeformEffect is an abstract class that should be used to write effects that change the geometry of an actor before submitting it to the GPU. Just like the ShaderEffect class, DeformEffect renders the actor to which it has been applied into an FBO; then it creates a mesh and stores it inside a VBO. Sub-classes can control vertex attributes like position, texel coordinates and the color.
391 lines
13 KiB
Makefile
391 lines
13 KiB
Makefile
include $(top_srcdir)/build/autotools/Makefile.am.silent
|
|
|
|
NULL =
|
|
|
|
SUBDIRS = cogl $(CLUTTER_WINSYS_BASE) $(CLUTTER_WINSYS)
|
|
|
|
if LOCAL_JSON_GLIB
|
|
SUBDIRS += json
|
|
clutter_json_include = -I$(top_srcdir)/clutter/json
|
|
clutter_json_dep = json/libclutter-json.la
|
|
clutter_json_libadd = $(top_builddir)/clutter/json/libclutter-json.la
|
|
clutter_json_gir = ClutterJson-@CLUTTER_API_VERSION@.gir
|
|
endif
|
|
|
|
DIST_SUBDIRS = glx eglx eglnative cogl json osx x11 win32 fruity
|
|
|
|
# common definitions
|
|
CLEANFILES =
|
|
DISTCLEANFILES =
|
|
EXTRA_DIST =
|
|
BUILT_SOURCES =
|
|
|
|
if SUPPORT_WIN32
|
|
|
|
# Ideally this resources stuff would go in win32/ but libtool doesn't
|
|
# seem to pass on the -Wl argument when linking a convenience library
|
|
# so we need to do it here as part of linking the dll. libtool also
|
|
# won't let you link against the .o directly because it wants you to
|
|
# link against libtool objects for dynamic libraries.
|
|
.rc.o :
|
|
$(WINDRES) -I$(srcdir)/win32 $< $@
|
|
|
|
win32/resources.o : $(srcdir)/win32/invisible-cursor.cur
|
|
|
|
win32_resources = win32/resources.o
|
|
win32_resources_ldflag = -Wl,win32/resources.o
|
|
|
|
endif # SUPPORT_WIN32
|
|
|
|
INCLUDES = \
|
|
-I$(top_srcdir) \
|
|
-I$(top_srcdir)/clutter/cogl \
|
|
-I$(top_srcdir)/clutter/cogl/pango \
|
|
-I$(top_srcdir)/clutter \
|
|
$(clutter_json_include) \
|
|
-I$(top_builddir) \
|
|
-I$(top_builddir)/clutter \
|
|
-I$(top_builddir)/clutter/cogl \
|
|
$(NULL)
|
|
|
|
AM_CPPFLAGS = \
|
|
-DCLUTTER_PREFIX=\""$(prefix)"\" \
|
|
-DCLUTTER_LIBDIR=\""$(libdir)"\" \
|
|
-DCLUTTER_DATADIR=\""$(datadir)"\" \
|
|
-DCLUTTER_COMPILATION=1 \
|
|
-DCOGL_DISABLE_DEPRECATED \
|
|
-DCOGL_ENABLE_EXPERIMENTAL_API \
|
|
-DG_DISABLE_DEPRECATED \
|
|
-DG_DISABLE_SINGLE_INCLUDES \
|
|
-DG_LOG_DOMAIN=\"Clutter\" \
|
|
$(CLUTTER_DEBUG_CFLAGS) \
|
|
$(NULL)
|
|
|
|
AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS) $(GCOV_CFLAGS)
|
|
|
|
# please, keep this sorted alphabetically
|
|
source_h = \
|
|
$(srcdir)/clutter-action.h \
|
|
$(srcdir)/clutter-actor-meta.h \
|
|
$(srcdir)/clutter-actor.h \
|
|
$(srcdir)/clutter-align-constraint.h \
|
|
$(srcdir)/clutter-alpha.h \
|
|
$(srcdir)/clutter-animatable.h \
|
|
$(srcdir)/clutter-animation.h \
|
|
$(srcdir)/clutter-animator.h \
|
|
$(srcdir)/clutter-backend.h \
|
|
$(srcdir)/clutter-behaviour.h \
|
|
$(srcdir)/clutter-behaviour-depth.h \
|
|
$(srcdir)/clutter-behaviour-ellipse.h \
|
|
$(srcdir)/clutter-behaviour-opacity.h \
|
|
$(srcdir)/clutter-behaviour-path.h \
|
|
$(srcdir)/clutter-behaviour-rotate.h \
|
|
$(srcdir)/clutter-behaviour-scale.h \
|
|
$(srcdir)/clutter-bind-constraint.h \
|
|
$(srcdir)/clutter-binding-pool.h \
|
|
$(srcdir)/clutter-bin-layout.h \
|
|
$(srcdir)/clutter-blur-effect.h \
|
|
$(srcdir)/clutter-box.h \
|
|
$(srcdir)/clutter-box-layout.h \
|
|
$(srcdir)/clutter-cairo-texture.h \
|
|
$(srcdir)/clutter-child-meta.h \
|
|
$(srcdir)/clutter-click-action.h \
|
|
$(srcdir)/clutter-clone.h \
|
|
$(srcdir)/clutter-color.h \
|
|
$(srcdir)/clutter-colorize-effect.h \
|
|
$(srcdir)/clutter-constraint.h \
|
|
$(srcdir)/clutter-container.h \
|
|
$(srcdir)/clutter-deform-effect.h \
|
|
$(srcdir)/clutter-deprecated.h \
|
|
$(srcdir)/clutter-desaturate-effect.h \
|
|
$(srcdir)/clutter-device-manager.h \
|
|
$(srcdir)/clutter-drag-action.h \
|
|
$(srcdir)/clutter-effect.h \
|
|
$(srcdir)/clutter-event.h \
|
|
$(srcdir)/clutter-feature.h \
|
|
$(srcdir)/clutter-fixed.h \
|
|
$(srcdir)/clutter-fixed-layout.h \
|
|
$(srcdir)/clutter-flow-layout.h \
|
|
$(srcdir)/clutter-frame-source.h \
|
|
$(srcdir)/clutter-group.h \
|
|
$(srcdir)/clutter-input-device.h \
|
|
$(srcdir)/clutter-interval.h \
|
|
$(srcdir)/clutter-keysyms.h \
|
|
$(srcdir)/clutter-layout-manager.h \
|
|
$(srcdir)/clutter-layout-meta.h \
|
|
$(srcdir)/clutter-list-model.h \
|
|
$(srcdir)/clutter-main.h \
|
|
$(srcdir)/clutter-media.h \
|
|
$(srcdir)/clutter-model.h \
|
|
$(srcdir)/clutter-offscreen-effect.h \
|
|
$(srcdir)/clutter-path.h \
|
|
$(srcdir)/clutter-rectangle.h \
|
|
$(srcdir)/clutter-score.h \
|
|
$(srcdir)/clutter-script.h \
|
|
$(srcdir)/clutter-scriptable.h \
|
|
$(srcdir)/clutter-shader.h \
|
|
$(srcdir)/clutter-shader-effect.h \
|
|
$(srcdir)/clutter-shader-types.h \
|
|
$(srcdir)/clutter-stage.h \
|
|
$(srcdir)/clutter-stage-manager.h \
|
|
$(srcdir)/clutter-stage-window.h \
|
|
$(srcdir)/clutter-state.h \
|
|
$(srcdir)/clutter-texture.h \
|
|
$(srcdir)/clutter-text.h \
|
|
$(srcdir)/clutter-timeline.h \
|
|
$(srcdir)/clutter-timeout-pool.h \
|
|
$(srcdir)/clutter-types.h \
|
|
$(srcdir)/clutter-units.h \
|
|
$(srcdir)/clutter-util.h \
|
|
$(NULL)
|
|
|
|
# glib-genmarshal rules
|
|
glib_marshal_list = clutter-marshal.list
|
|
glib_marshal_prefix = clutter_marshal
|
|
include $(top_srcdir)/build/autotools/Makefile.am.marshal
|
|
|
|
# glib-mkenums rules
|
|
glib_enum_h = clutter-enum-types.h
|
|
glib_enum_c = clutter-enum-types.c
|
|
glib_enum_headers = $(source_h)
|
|
include $(top_srcdir)/build/autotools/Makefile.am.enums
|
|
|
|
# please, keep this sorted alphabetically
|
|
source_c = \
|
|
$(srcdir)/clutter-action.c \
|
|
$(srcdir)/clutter-actor-meta.c \
|
|
$(srcdir)/clutter-actor.c \
|
|
$(srcdir)/clutter-align-constraint.c \
|
|
$(srcdir)/clutter-alpha.c \
|
|
$(srcdir)/clutter-animatable.c \
|
|
$(srcdir)/clutter-animation.c \
|
|
$(srcdir)/clutter-animator.c \
|
|
$(srcdir)/clutter-backend.c \
|
|
$(srcdir)/clutter-behaviour.c \
|
|
$(srcdir)/clutter-behaviour-depth.c \
|
|
$(srcdir)/clutter-behaviour-ellipse.c \
|
|
$(srcdir)/clutter-behaviour-opacity.c \
|
|
$(srcdir)/clutter-behaviour-path.c \
|
|
$(srcdir)/clutter-behaviour-rotate.c \
|
|
$(srcdir)/clutter-behaviour-scale.c \
|
|
$(srcdir)/clutter-bezier.c \
|
|
$(srcdir)/clutter-bind-constraint.c \
|
|
$(srcdir)/clutter-binding-pool.c \
|
|
$(srcdir)/clutter-bin-layout.c \
|
|
$(srcdir)/clutter-blur-effect.c \
|
|
$(srcdir)/clutter-box.c \
|
|
$(srcdir)/clutter-box-layout.c \
|
|
$(srcdir)/clutter-cairo-texture.c \
|
|
$(srcdir)/clutter-child-meta.c \
|
|
$(srcdir)/clutter-click-action.c \
|
|
$(srcdir)/clutter-clone.c \
|
|
$(srcdir)/clutter-color.c \
|
|
$(srcdir)/clutter-colorize-effect.c \
|
|
$(srcdir)/clutter-constraint.c \
|
|
$(srcdir)/clutter-container.c \
|
|
$(srcdir)/clutter-deform-effect.c \
|
|
$(srcdir)/clutter-desaturate-effect.c \
|
|
$(srcdir)/clutter-device-manager.c \
|
|
$(srcdir)/clutter-drag-action.c \
|
|
$(srcdir)/clutter-effect.c \
|
|
clutter-enum-types.c \
|
|
$(srcdir)/clutter-event.c \
|
|
$(srcdir)/clutter-feature.c \
|
|
$(srcdir)/clutter-fixed.c \
|
|
$(srcdir)/clutter-fixed-layout.c \
|
|
$(srcdir)/clutter-flow-layout.c \
|
|
$(srcdir)/clutter-frame-source.c \
|
|
$(srcdir)/clutter-group.c \
|
|
$(srcdir)/clutter-input-device.c \
|
|
$(srcdir)/clutter-interval.c \
|
|
$(srcdir)/clutter-layout-manager.c \
|
|
$(srcdir)/clutter-layout-meta.c \
|
|
$(srcdir)/clutter-list-model.c \
|
|
$(srcdir)/clutter-main.c \
|
|
clutter-marshal.c \
|
|
$(srcdir)/clutter-master-clock.c \
|
|
$(srcdir)/clutter-media.c \
|
|
$(srcdir)/clutter-model.c \
|
|
$(srcdir)/clutter-offscreen-effect.c \
|
|
$(srcdir)/clutter-path.c \
|
|
$(srcdir)/clutter-rectangle.c \
|
|
$(srcdir)/clutter-score.c \
|
|
$(srcdir)/clutter-script.c \
|
|
$(srcdir)/clutter-script-parser.c \
|
|
$(srcdir)/clutter-scriptable.c \
|
|
$(srcdir)/clutter-shader.c \
|
|
$(srcdir)/clutter-shader-effect.c \
|
|
$(srcdir)/clutter-shader-types.c \
|
|
$(srcdir)/clutter-stage.c \
|
|
$(srcdir)/clutter-stage-manager.c \
|
|
$(srcdir)/clutter-stage-window.c \
|
|
$(srcdir)/clutter-state.c \
|
|
$(srcdir)/clutter-texture.c \
|
|
$(srcdir)/clutter-text.c \
|
|
$(srcdir)/clutter-timeline.c \
|
|
$(srcdir)/clutter-timeout-pool.c \
|
|
$(srcdir)/clutter-units.c \
|
|
$(srcdir)/clutter-util.c \
|
|
$(NULL)
|
|
|
|
source_c_priv = \
|
|
$(srcdir)/clutter-id-pool.c \
|
|
$(srcdir)/clutter-profile.c \
|
|
$(srcdir)/clutter-timeout-interval.c \
|
|
$(NULL)
|
|
|
|
source_h_priv = \
|
|
$(srcdir)/clutter-actor-meta-private.h \
|
|
$(srcdir)/clutter-bezier.h \
|
|
$(srcdir)/clutter-debug.h \
|
|
$(srcdir)/clutter-id-pool.h \
|
|
$(srcdir)/clutter-keysyms-table.h \
|
|
$(srcdir)/clutter-master-clock.h \
|
|
$(srcdir)/clutter-model-private.h \
|
|
$(srcdir)/clutter-private.h \
|
|
$(srcdir)/clutter-profile.h \
|
|
$(srcdir)/clutter-script-private.h \
|
|
$(srcdir)/clutter-timeout-interval.h \
|
|
$(NULL)
|
|
|
|
libclutter_@CLUTTER_WINSYS@_@CLUTTER_API_VERSION@_la_LIBADD = \
|
|
$(CLUTTER_LIBS) \
|
|
$(top_builddir)/clutter/cogl/cogl/libclutter-cogl.la \
|
|
$(top_builddir)/clutter/cogl/pango/libcoglpango.la \
|
|
$(top_builddir)/clutter/$(CLUTTER_WINSYS)/libclutter-$(CLUTTER_WINSYS).la \
|
|
$(clutter_json_libadd) \
|
|
$(CLUTTER_WINSYS_BASE_LIB)
|
|
|
|
libclutter_@CLUTTER_WINSYS@_@CLUTTER_API_VERSION@_la_DEPENDENCIES = \
|
|
$(top_builddir)/clutter/cogl/cogl/libclutter-cogl.la \
|
|
$(top_builddir)/clutter/cogl/pango/libcoglpango.la \
|
|
$(top_builddir)/clutter/$(CLUTTER_WINSYS)/libclutter-$(CLUTTER_WINSYS).la \
|
|
$(clutter_json_dep) \
|
|
$(CLUTTER_WINSYS_BASE_LIB) \
|
|
$(win32_resources)
|
|
|
|
libclutter_@CLUTTER_WINSYS@_@CLUTTER_API_VERSION@_la_SOURCES = \
|
|
$(source_c) \
|
|
$(source_h) \
|
|
$(source_c_priv) \
|
|
$(source_h_priv)
|
|
|
|
libclutter_@CLUTTER_WINSYS@_@CLUTTER_API_VERSION@_la_LDFLAGS = \
|
|
$(CLUTTER_LT_LDFLAGS) \
|
|
$(GCOV_LDFLAGS) \
|
|
-export-dynamic \
|
|
-export-symbols-regex "^(clutter|cogl|json).*" \
|
|
-rpath $(libdir) \
|
|
$(win32_resources_ldflag) \
|
|
$(NULL)
|
|
|
|
lib_LTLIBRARIES = $(CLUTTER_WINSYS_LIB)
|
|
|
|
EXTRA_LTLIBRARIES = libclutter-@CLUTTER_WINSYS@-@CLUTTER_API_VERSION@.la
|
|
|
|
clutterdir = $(includedir)/clutter-$(CLUTTER_API_VERSION)/clutter
|
|
clutter_HEADERS = \
|
|
$(source_h) \
|
|
$(top_builddir)/clutter/clutter-enum-types.h \
|
|
$(top_srcdir)/clutter/clutter.h
|
|
nodist_clutter_HEADERS = \
|
|
$(top_builddir)/clutter/clutter-json.h \
|
|
$(top_builddir)/clutter/clutter-version.h
|
|
|
|
|
|
DISTCLEANFILES += clutter-version.h
|
|
EXTRA_DIST += clutter-version.h.in
|
|
|
|
BUILT_GIRSOURCES =
|
|
|
|
if LOCAL_JSON_GLIB
|
|
json_gir_include_path=--add-include-path=json
|
|
json_gir_include=--include=ClutterJson-@CLUTTER_API_VERSION@
|
|
json_gir_pkg=
|
|
|
|
# If we are building it, ClutterJson gets the same handling as described
|
|
# for Cogl above
|
|
ClutterJson-@CLUTTER_API_VERSION@.gir: Clutter-@CLUTTER_API_VERSION@.gir json/ClutterJson-@CLUTTER_API_VERSION@.gir
|
|
$(QUIET_GEN) \
|
|
shlib=`sed -n 's/.*shared-library="\([^"]*\)".*/\1/p' < Clutter-@CLUTTER_API_VERSION@.gir` ; \
|
|
sed "s/shared-library=\"[^\"]*\"/shared-library=\"$$shlib\"/"< json/ClutterJson-@CLUTTER_API_VERSION@.gir > $@
|
|
|
|
BUILT_GIRSOURCES += ClutterJson-@CLUTTER_API_VERSION@.gir
|
|
else
|
|
json_gir_include=--include=Json-1.0
|
|
json_gir_pkg=--pkg json-glib-1.0
|
|
endif # LOCAL_JSON_GLIB
|
|
|
|
if HAVE_INTROSPECTION
|
|
# We can't reference the list of COGL header files, since they are in a
|
|
# subdir Makefile.am, so just extract them from cogl.h instead. The doc
|
|
# comments for COGL are in the headers, so we don't need the source files.
|
|
|
|
Clutter-@CLUTTER_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libclutter-@CLUTTER_WINSYS@-@CLUTTER_API_VERSION@.la
|
|
$(QUIET_GEN)$(INTROSPECTION_SCANNER) -v \
|
|
--namespace Clutter --nsversion=@CLUTTER_API_VERSION@ \
|
|
$(INCLUDES) \
|
|
$(AM_CPPFLAGS) \
|
|
--add-include-path=cogl/cogl \
|
|
$(json_gir_include_path) \
|
|
--c-include='clutter/clutter.h' \
|
|
--include=GL-1.0 \
|
|
--include=GObject-2.0 \
|
|
--include=Atk-1.0 \
|
|
--include=Pango-1.0 \
|
|
--include=PangoCairo-1.0 \
|
|
--include=Cogl-@CLUTTER_API_VERSION@ \
|
|
$(json_gir_include) \
|
|
--library=libclutter-@CLUTTER_WINSYS@-@CLUTTER_API_VERSION@.la \
|
|
--libtool="$(top_builddir)/libtool" \
|
|
--pkg gobject-2.0 \
|
|
$(json_gir_pkg) \
|
|
--pkg atk \
|
|
--pkg pango \
|
|
--pkg pangocairo \
|
|
--output $@ \
|
|
$(clutter_HEADERS) \
|
|
$(nodist_clutter_HEADERS) \
|
|
$(source_c)
|
|
|
|
BUILT_GIRSOURCES += Clutter-@CLUTTER_API_VERSION@.gir
|
|
|
|
# ClutterJson.gir and Cogl.gir are used included into Clutter.gir, so need
|
|
# to be built before the typelib is generated
|
|
Clutter-@CLUTTER_API_VERSION@.typelib: $(clutter_json_gir) Cogl-@CLUTTER_API_VERSION@.gir
|
|
|
|
# We build Cogl.gir in the cogl/ subdir, but it needs to reference the shared
|
|
# library that it's built into, so we delay compiling the gir into typelib
|
|
# until after we've built the shared library. To create the final Cogl.gir
|
|
# that we compile and install, we transfer the shared-library="" line from
|
|
# Clutter.gir to Cogl.gir
|
|
Cogl-@CLUTTER_API_VERSION@.gir: Clutter-@CLUTTER_API_VERSION@.gir cogl/cogl/Cogl-@CLUTTER_API_VERSION@.gir
|
|
$(QUIET_GEN) \
|
|
shlib=`sed -n 's/.*shared-library="\([^"]*\)".*/\1/p' < Clutter-@CLUTTER_API_VERSION@.gir` ; \
|
|
sed "s/shared-library=\"[^\"]*\"/shared-library=\"$$shlib\"/"< cogl/cogl/Cogl-@CLUTTER_API_VERSION@.gir > $@
|
|
|
|
BUILT_GIRSOURCES += Cogl-@CLUTTER_API_VERSION@.gir
|
|
|
|
# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
|
|
# install anything - we need to install inside our prefix.
|
|
girdir = $(datadir)/gir-1.0
|
|
gir_DATA = $(BUILT_GIRSOURCES)
|
|
|
|
typelibsdir = $(libdir)/girepository-1.0/
|
|
|
|
typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
|
|
|
|
%.typelib: %.gir $(INTROSPECTION_COMPILER)
|
|
$(QUIET_GEN) \
|
|
LD_LIBRARY_PATH=.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH} \
|
|
$(INTROSPECTION_COMPILER) \
|
|
--includedir=$(srcdir) \
|
|
--includedir=. \
|
|
$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
|
|
|
|
CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
|
|
endif # HAVE_INTROSPECTION
|
|
|
|
gcov_sources = $(source_c)
|
|
include $(top_srcdir)/build/autotools/Makefile.am.gcov
|