| 1 | include $(top_srcdir)/build/autotools/Makefile.am.silent |
| 2 | |
| 3 | NULL = |
| 4 | |
| 5 | SUBDIRS = cogl $(CLUTTER_WINSYS_BASE) $(CLUTTER_WINSYS) |
| 6 | |
| 7 | if LOCAL_JSON_GLIB |
| 8 | SUBDIRS += json |
| 9 | clutter_json_include = -I$(top_srcdir)/clutter/json |
| 10 | clutter_json_dep = json/libclutter-json.la |
| 11 | clutter_json_libadd = $(top_builddir)/clutter/json/libclutter-json.la |
| 12 | clutter_json_gir = ClutterJson-@CLUTTER_API_VERSION@.gir |
| 13 | endif |
| 14 | |
| 15 | DIST_SUBDIRS = glx eglx eglnative cogl json osx x11 win32 fruity |
| 16 | |
| 17 | # common definitions |
| 18 | CLEANFILES = |
| 19 | DISTCLEANFILES = |
| 20 | EXTRA_DIST = |
| 21 | BUILT_SOURCES = |
| 22 | |
| 23 | if WINSYS_WIN32 |
| 24 | |
| 25 | # Ideally this resources stuff would go in win32/ but libtool doesn't |
| 26 | # seem to pass on the -Wl argument when linking a convenience library |
| 27 | # so we need to do it here as part of linking the dll. libtool also |
| 28 | # won't let you link against the .o directly because it wants you to |
| 29 | # link against libtool objects for dynamic libraries. |
| 30 | .rc.o : |
| 31 | $(WINDRES) -I$(srcdir)/win32 $< $@ |
| 32 | |
| 33 | win32/resources.o : $(srcdir)/win32/invisible-cursor.cur |
| 34 | |
| 35 | win32_resources = win32/resources.o |
| 36 | win32_resources_ldflag = -Wl,win32/resources.o |
| 37 | |
| 38 | endif # WINSYS_WIN32 |
| 39 | |
| 40 | INCLUDES = \ |
| 41 | -I$(top_srcdir) \ |
| 42 | -I$(top_srcdir)/clutter/cogl \ |
| 43 | -I$(top_srcdir)/clutter/cogl/pango \ |
| 44 | -I$(top_srcdir)/clutter \ |
| 45 | $(clutter_json_include) \ |
| 46 | -I$(top_builddir)/clutter/cogl \ |
| 47 | -I$(top_builddir)/clutter \ |
| 48 | $(NULL) |
| 49 | |
| 50 | AM_CPPFLAGS = \ |
| 51 | -DCLUTTER_PREFIX=\""$(prefix)"\" \ |
| 52 | -DCLUTTER_LIBDIR=\""$(libdir)"\" \ |
| 53 | -DCLUTTER_DATADIR=\""$(datadir)"\" \ |
| 54 | -DCLUTTER_COMPILATION=1 \ |
| 55 | -DG_DISABLE_DEPRECATED \ |
| 56 | -DG_DISABLE_SINGLE_INCLUDES \ |
| 57 | -DG_LOG_DOMAIN=\"Clutter\" \ |
| 58 | $(CLUTTER_DEBUG_CFLAGS) \ |
| 59 | $(NULL) |
| 60 | |
| 61 | AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS) $(GCOV_CFLAGS) |
| 62 | |
| 63 | # please, keep this sorted alphabetically |
| 64 | source_h = \ |
| 65 | $(srcdir)/clutter-actor.h \ |
| 66 | $(srcdir)/clutter-alpha.h \ |
| 67 | $(srcdir)/clutter-animatable.h \ |
| 68 | $(srcdir)/clutter-animation.h \ |
| 69 | $(srcdir)/clutter-animator.h \ |
| 70 | $(srcdir)/clutter-backend.h \ |
| 71 | $(srcdir)/clutter-behaviour.h \ |
| 72 | $(srcdir)/clutter-behaviour-depth.h \ |
| 73 | $(srcdir)/clutter-behaviour-ellipse.h \ |
| 74 | $(srcdir)/clutter-behaviour-opacity.h \ |
| 75 | $(srcdir)/clutter-behaviour-path.h \ |
| 76 | $(srcdir)/clutter-behaviour-rotate.h \ |
| 77 | $(srcdir)/clutter-behaviour-scale.h \ |
| 78 | $(srcdir)/clutter-binding-pool.h \ |
| 79 | $(srcdir)/clutter-bin-layout.h \ |
| 80 | $(srcdir)/clutter-box.h \ |
| 81 | $(srcdir)/clutter-box-layout.h \ |
| 82 | $(srcdir)/clutter-cairo-texture.h \ |
| 83 | $(srcdir)/clutter-child-meta.h \ |
| 84 | $(srcdir)/clutter-clone.h \ |
| 85 | $(srcdir)/clutter-color.h \ |
| 86 | $(srcdir)/clutter-container.h \ |
| 87 | $(srcdir)/clutter-deprecated.h \ |
| 88 | $(srcdir)/clutter-device-manager.h \ |
| 89 | $(srcdir)/clutter-event.h \ |
| 90 | $(srcdir)/clutter-feature.h \ |
| 91 | $(srcdir)/clutter-fixed.h \ |
| 92 | $(srcdir)/clutter-fixed-layout.h \ |
| 93 | $(srcdir)/clutter-flow-layout.h \ |
| 94 | $(srcdir)/clutter-frame-source.h \ |
| 95 | $(srcdir)/clutter-group.h \ |
| 96 | $(srcdir)/clutter-input-device.h \ |
| 97 | $(srcdir)/clutter-interval.h \ |
| 98 | $(srcdir)/clutter-keysyms.h \ |
| 99 | $(srcdir)/clutter-layout-manager.h \ |
| 100 | $(srcdir)/clutter-layout-meta.h \ |
| 101 | $(srcdir)/clutter-list-model.h \ |
| 102 | $(srcdir)/clutter-main.h \ |
| 103 | $(srcdir)/clutter-media.h \ |
| 104 | $(srcdir)/clutter-model.h \ |
| 105 | $(srcdir)/clutter-path.h \ |
| 106 | $(srcdir)/clutter-rectangle.h \ |
| 107 | $(srcdir)/clutter-score.h \ |
| 108 | $(srcdir)/clutter-script.h \ |
| 109 | $(srcdir)/clutter-scriptable.h \ |
| 110 | $(srcdir)/clutter-shader.h \ |
| 111 | $(srcdir)/clutter-shader-types.h \ |
| 112 | $(srcdir)/clutter-stage.h \ |
| 113 | $(srcdir)/clutter-stage-manager.h \ |
| 114 | $(srcdir)/clutter-stage-window.h \ |
| 115 | $(srcdir)/clutter-texture.h \ |
| 116 | $(srcdir)/clutter-text.h \ |
| 117 | $(srcdir)/clutter-timeline.h \ |
| 118 | $(srcdir)/clutter-timeout-pool.h \ |
| 119 | $(srcdir)/clutter-types.h \ |
| 120 | $(srcdir)/clutter-units.h \ |
| 121 | $(srcdir)/clutter-util.h \ |
| 122 | $(top_builddir)/clutter/clutter-version.h \ |
| 123 | $(NULL) |
| 124 | |
| 125 | # glib-genmarshal rules |
| 126 | glib_marshal_list = clutter-marshal.list |
| 127 | glib_marshal_prefix = clutter_marshal |
| 128 | include $(top_srcdir)/build/autotools/Makefile.am.marshal |
| 129 | |
| 130 | # glib-mkenums rules |
| 131 | glib_enum_h = clutter-enum-types.h |
| 132 | glib_enum_c = clutter-enum-types.c |
| 133 | glib_enum_headers = $(source_h) |
| 134 | include $(top_srcdir)/build/autotools/Makefile.am.enums |
| 135 | |
| 136 | # please, keep this sorted alphabetically |
| 137 | source_c = \ |
| 138 | $(srcdir)/clutter-actor.c \ |
| 139 | $(srcdir)/clutter-alpha.c \ |
| 140 | $(srcdir)/clutter-animatable.c \ |
| 141 | $(srcdir)/clutter-animation.c \ |
| 142 | $(srcdir)/clutter-animator.c \ |
| 143 | $(srcdir)/clutter-backend.c \ |
| 144 | $(srcdir)/clutter-behaviour.c \ |
| 145 | $(srcdir)/clutter-behaviour-depth.c \ |
| 146 | $(srcdir)/clutter-behaviour-ellipse.c \ |
| 147 | $(srcdir)/clutter-behaviour-opacity.c \ |
| 148 | $(srcdir)/clutter-behaviour-path.c \ |
| 149 | $(srcdir)/clutter-behaviour-rotate.c \ |
| 150 | $(srcdir)/clutter-behaviour-scale.c \ |
| 151 | $(srcdir)/clutter-bezier.c \ |
| 152 | $(srcdir)/clutter-binding-pool.c \ |
| 153 | $(srcdir)/clutter-bin-layout.c \ |
| 154 | $(srcdir)/clutter-box.c \ |
| 155 | $(srcdir)/clutter-box-layout.c \ |
| 156 | $(srcdir)/clutter-cairo-texture.c \ |
| 157 | $(srcdir)/clutter-child-meta.c \ |
| 158 | $(srcdir)/clutter-clone.c \ |
| 159 | $(srcdir)/clutter-color.c \ |
| 160 | $(srcdir)/clutter-container.c \ |
| 161 | $(srcdir)/clutter-device-manager.c \ |
| 162 | clutter-enum-types.c \ |
| 163 | $(srcdir)/clutter-event.c \ |
| 164 | $(srcdir)/clutter-feature.c \ |
| 165 | $(srcdir)/clutter-fixed.c \ |
| 166 | $(srcdir)/clutter-fixed-layout.c \ |
| 167 | $(srcdir)/clutter-flow-layout.c \ |
| 168 | $(srcdir)/clutter-frame-source.c \ |
| 169 | $(srcdir)/clutter-group.c \ |
| 170 | $(srcdir)/clutter-input-device.c \ |
| 171 | $(srcdir)/clutter-interval.c \ |
| 172 | $(srcdir)/clutter-layout-manager.c \ |
| 173 | $(srcdir)/clutter-layout-meta.c \ |
| 174 | $(srcdir)/clutter-list-model.c \ |
| 175 | $(srcdir)/clutter-main.c \ |
| 176 | clutter-marshal.c \ |
| 177 | $(srcdir)/clutter-master-clock.c \ |
| 178 | $(srcdir)/clutter-media.c \ |
| 179 | $(srcdir)/clutter-model.c \ |
| 180 | $(srcdir)/clutter-path.c \ |
| 181 | $(srcdir)/clutter-rectangle.c \ |
| 182 | $(srcdir)/clutter-score.c \ |
| 183 | $(srcdir)/clutter-script.c \ |
| 184 | $(srcdir)/clutter-script-parser.c \ |
| 185 | $(srcdir)/clutter-scriptable.c \ |
| 186 | $(srcdir)/clutter-shader.c \ |
| 187 | $(srcdir)/clutter-shader-types.c \ |
| 188 | $(srcdir)/clutter-stage.c \ |
| 189 | $(srcdir)/clutter-stage-manager.c \ |
| 190 | $(srcdir)/clutter-stage-window.c \ |
| 191 | $(srcdir)/clutter-texture.c \ |
| 192 | $(srcdir)/clutter-text.c \ |
| 193 | $(srcdir)/clutter-timeline.c \ |
| 194 | $(srcdir)/clutter-timeout-pool.c \ |
| 195 | $(srcdir)/clutter-units.c \ |
| 196 | $(srcdir)/clutter-util.c \ |
| 197 | $(NULL) |
| 198 | |
| 199 | source_c_priv = \ |
| 200 | $(srcdir)/clutter-id-pool.c \ |
| 201 | $(srcdir)/clutter-profile.c \ |
| 202 | $(srcdir)/clutter-timeout-interval.c \ |
| 203 | $(NULL) |
| 204 | |
| 205 | source_h_priv = \ |
| 206 | $(srcdir)/clutter-bezier.h \ |
| 207 | $(srcdir)/clutter-debug.h \ |
| 208 | $(srcdir)/clutter-keysyms-table.h \ |
| 209 | $(srcdir)/clutter-master-clock.h \ |
| 210 | $(srcdir)/clutter-model-private.h \ |
| 211 | $(srcdir)/clutter-private.h \ |
| 212 | $(srcdir)/clutter-id-pool.h \ |
| 213 | $(srcdir)/clutter-script-private.h \ |
| 214 | $(srcdir)/clutter-timeout-interval.h \ |
| 215 | $(srcdir)/clutter-profile.h \ |
| 216 | $(NULL) |
| 217 | |
| 218 | libclutter_@CLUTTER_WINSYS@_@CLUTTER_API_VERSION@_la_LIBADD = \ |
| 219 | $(CLUTTER_LIBS) \ |
| 220 | $(top_builddir)/clutter/cogl/cogl/libclutter-cogl.la \ |
| 221 | $(top_builddir)/clutter/cogl/pango/libcoglpango.la \ |
| 222 | $(top_builddir)/clutter/$(CLUTTER_WINSYS)/libclutter-$(CLUTTER_WINSYS).la \ |
| 223 | $(clutter_json_libadd) \ |
| 224 | $(CLUTTER_WINSYS_BASE_LIB) |
| 225 | |
| 226 | libclutter_@CLUTTER_WINSYS@_@CLUTTER_API_VERSION@_la_DEPENDENCIES = \ |
| 227 | $(top_builddir)/clutter/cogl/cogl/libclutter-cogl.la \ |
| 228 | $(top_builddir)/clutter/cogl/pango/libcoglpango.la \ |
| 229 | $(top_builddir)/clutter/$(CLUTTER_WINSYS)/libclutter-$(CLUTTER_WINSYS).la \ |
| 230 | $(clutter_json_dep) \ |
| 231 | $(CLUTTER_WINSYS_BASE_LIB) \ |
| 232 | $(win32_resources) |
| 233 | |
| 234 | libclutter_@CLUTTER_WINSYS@_@CLUTTER_API_VERSION@_la_SOURCES = \ |
| 235 | $(source_c) \ |
| 236 | $(source_h) \ |
| 237 | $(source_c_priv) \ |
| 238 | $(source_h_priv) |
| 239 | |
| 240 | libclutter_@CLUTTER_WINSYS@_@CLUTTER_API_VERSION@_la_LDFLAGS = \ |
| 241 | $(CLUTTER_LT_LDFLAGS) \ |
| 242 | $(GCOV_LDFLAGS) \ |
| 243 | -export-dynamic \ |
| 244 | -export-symbols-regex "^(clutter|cogl|json).*" \ |
| 245 | -rpath $(libdir) \ |
| 246 | $(win32_resources_ldflag) \ |
| 247 | $(NULL) |
| 248 | |
| 249 | lib_LTLIBRARIES = $(CLUTTER_WINSYS_LIB) |
| 250 | |
| 251 | EXTRA_LTLIBRARIES = libclutter-@CLUTTER_WINSYS@-@CLUTTER_API_VERSION@.la |
| 252 | |
| 253 | clutterdir = $(includedir)/clutter-$(CLUTTER_API_VERSION)/clutter |
| 254 | clutter_HEADERS = \ |
| 255 | $(source_h) \ |
| 256 | $(top_builddir)/clutter/clutter-json.h \ |
| 257 | $(top_builddir)/clutter/clutter-enum-types.h \ |
| 258 | $(top_srcdir)/clutter/clutter.h |
| 259 | |
| 260 | DISTCLEANFILES += clutter-version.h |
| 261 | EXTRA_DIST += clutter-version.h.in |
| 262 | |
| 263 | BUILT_GIRSOURCES = |
| 264 | |
| 265 | if LOCAL_JSON_GLIB |
| 266 | json_gir_include_path=--add-include-path=json |
| 267 | json_gir_include=--include=ClutterJson-@CLUTTER_API_VERSION@ |
| 268 | json_gir_pkg= |
| 269 | |
| 270 | # If we are building it, ClutterJson gets the same handling as described |
| 271 | # for Cogl above |
| 272 | ClutterJson-@CLUTTER_API_VERSION@.gir: Clutter-@CLUTTER_API_VERSION@.gir json/ClutterJson-@CLUTTER_API_VERSION@.gir |
| 273 | $(QUIET_GEN) \ |
| 274 | shlib=`sed -n 's/.*shared-library="\([^"]*\)".*/\1/p' < Clutter-@CLUTTER_API_VERSION@.gir` ; \ |
| 275 | sed "s/shared-library=\"[^\"]*\"/shared-library=\"$$shlib\"/"< json/ClutterJson-@CLUTTER_API_VERSION@.gir > $@ |
| 276 | |
| 277 | BUILT_GIRSOURCES += ClutterJson-@CLUTTER_API_VERSION@.gir |
| 278 | else |
| 279 | json_gir_include=--include=Json-1.0 |
| 280 | json_gir_pkg=--pkg json-glib-1.0 |
| 281 | endif # LOCAL_JSON_GLIB |
| 282 | |
| 283 | if HAVE_INTROSPECTION |
| 284 | # We can't reference the list of COGL header files, since they are in a |
| 285 | # subdir Makefile.am, so just extract them from cogl.h instead. The doc |
| 286 | # comments for COGL are in the headers, so we don't need the source files. |
| 287 | |
| 288 | Clutter-@CLUTTER_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libclutter-@CLUTTER_WINSYS@-@CLUTTER_API_VERSION@.la |
| 289 | $(QUIET_GEN)$(INTROSPECTION_SCANNER) -v \ |
| 290 | --namespace Clutter --nsversion=@CLUTTER_API_VERSION@ \ |
| 291 | $(INCLUDES) \ |
| 292 | $(AM_CPPFLAGS) \ |
| 293 | --add-include-path=cogl/cogl \ |
| 294 | $(json_gir_include_path) \ |
| 295 | --c-include='clutter/clutter.h' \ |
| 296 | --include=GL-1.0 \ |
| 297 | --include=GObject-2.0 \ |
| 298 | --include=Pango-1.0 \ |
| 299 | --include=PangoCairo-1.0 \ |
| 300 | --include=Cogl-@CLUTTER_API_VERSION@ \ |
| 301 | $(json_gir_include) \ |
| 302 | --library=libclutter-@CLUTTER_WINSYS@-@CLUTTER_API_VERSION@.la \ |
| 303 | --libtool="$(top_builddir)/libtool" \ |
| 304 | --pkg gobject-2.0 \ |
| 305 | $(json_gir_pkg) \ |
| 306 | --pkg pango \ |
| 307 | --pkg pangocairo \ |
| 308 | --output $@ \ |
| 309 | $(clutter_HEADERS) \ |
| 310 | $(source_c) |
| 311 | |
| 312 | BUILT_GIRSOURCES += Clutter-@CLUTTER_API_VERSION@.gir |
| 313 | |
| 314 | # ClutterJson.gir and Cogl.gir are used included into Clutter.gir, so need |
| 315 | # to be built before the typelib is generated |
| 316 | Clutter-@CLUTTER_API_VERSION@.typelib: $(clutter_json_gir) Cogl-@CLUTTER_API_VERSION@.gir |
| 317 | |
| 318 | # We build Cogl.gir in the cogl/ subdir, but it needs to reference the shared |
| 319 | # library that it's built into, so we delay compiling the gir into typelib |
| 320 | # until after we've built the shared library. To create the final Cogl.gir |
| 321 | # that we compile and install, we transfer the shared-library="" line from |
| 322 | # Clutter.gir to Cogl.gir |
| 323 | Cogl-@CLUTTER_API_VERSION@.gir: Clutter-@CLUTTER_API_VERSION@.gir cogl/cogl/Cogl-@CLUTTER_API_VERSION@.gir |
| 324 | $(QUIET_GEN) \ |
| 325 | shlib=`sed -n 's/.*shared-library="\([^"]*\)".*/\1/p' < Clutter-@CLUTTER_API_VERSION@.gir` ; \ |
| 326 | sed "s/shared-library=\"[^\"]*\"/shared-library=\"$$shlib\"/"< cogl/cogl/Cogl-@CLUTTER_API_VERSION@.gir > $@ |
| 327 | |
| 328 | BUILT_GIRSOURCES += Cogl-@CLUTTER_API_VERSION@.gir |
| 329 | |
| 330 | # INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to |
| 331 | # install anything - we need to install inside our prefix. |
| 332 | girdir = $(datadir)/gir-1.0 |
| 333 | gir_DATA = $(BUILT_GIRSOURCES) |
| 334 | |
| 335 | typelibsdir = $(libdir)/girepository-1.0/ |
| 336 | |
| 337 | typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) |
| 338 | |
| 339 | %.typelib: %.gir $(INTROSPECTION_COMPILER) |
| 340 | $(QUIET_GEN) \ |
| 341 | LD_LIBRARY_PATH=.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH} \ |
| 342 | $(INTROSPECTION_COMPILER) \ |
| 343 | --includedir=$(srcdir) \ |
| 344 | --includedir=. \ |
| 345 | $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) |
| 346 | |
| 347 | CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) |
| 348 | endif # HAVE_INTROSPECTION |
| 349 | |
| 350 | gcov_sources = $(source_c) |
| 351 | include $(top_srcdir)/build/autotools/Makefile.am.gcov |
| 352 | |