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-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-constraint.h \ $(srcdir)/clutter-container.h \ $(srcdir)/clutter-deprecated.h \ $(srcdir)/clutter-device-manager.h \ $(srcdir)/clutter-drag-action.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-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-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 \ $(top_builddir)/clutter/clutter-version.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-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-constraint.c \ $(srcdir)/clutter-container.c \ $(srcdir)/clutter-device-manager.c \ $(srcdir)/clutter-drag-action.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-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-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-keysyms-table.h \ $(srcdir)/clutter-master-clock.h \ $(srcdir)/clutter-model-private.h \ $(srcdir)/clutter-private.h \ $(srcdir)/clutter-id-pool.h \ $(srcdir)/clutter-script-private.h \ $(srcdir)/clutter-timeout-interval.h \ $(srcdir)/clutter-profile.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-json.h \ $(top_builddir)/clutter/clutter-enum-types.h \ $(top_srcdir)/clutter/clutter.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) \ $(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