build: Re-instate profile builds
[profile/ivi/clutter.git] / clutter / Makefile.am
1 include $(top_srcdir)/build/autotools/Makefile.am.silent
2
3 # preamble
4 NULL =
5
6 # we recurse only into Cogl
7 SUBDIRS = cogl
8
9 # common definitions
10 CLEANFILES =
11 DISTCLEANFILES =
12 EXTRA_DIST =
13 BUILT_SOURCES =
14
15 lib_LTLIBRARIES =
16
17 INCLUDES = \
18         -I$(top_srcdir)                                 \
19         -I$(top_srcdir)/clutter                         \
20         -I$(top_srcdir)/clutter/cogl                    \
21         -I$(top_srcdir)/clutter/cogl/pango              \
22         -I$(top_srcdir)/clutter/$(CLUTTER_WINSYS)       \
23         -I$(top_srcdir)/clutter/$(CLUTTER_WINSYS_BASE)  \
24         -I$(top_srcdir)/clutter/cally                   \
25         -I$(top_builddir)                               \
26         -I$(top_builddir)/clutter                       \
27         -I$(top_builddir)/clutter/cogl                  \
28         $(NULL)
29
30 AM_CPPFLAGS = \
31         -DCLUTTER_PREFIX=\""$(prefix)"\"        \
32         -DCLUTTER_LIBDIR=\""$(libdir)"\"        \
33         -DCLUTTER_DATADIR=\""$(datadir)"\"      \
34         -DCLUTTER_LOCALEDIR=\""$(localedir)"\"  \
35         -DCLUTTER_COMPILATION=1                 \
36         -DCLUTTER_DISABLE_DEPRECATED            \
37         -DCOGL_DISABLE_DEPRECATED               \
38         -DCOGL_ENABLE_EXPERIMENTAL_API          \
39         -DG_DISABLE_DEPRECATED                  \
40         -DG_DISABLE_SINGLE_INCLUDES             \
41         -DG_LOG_DOMAIN=\"Clutter\"              \
42         $(CLUTTER_DEBUG_CFLAGS)                 \
43         $(CLUTTER_PROFILE_CFLAGS)               \
44         $(NULL)
45
46 AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS) $(GCOV_CFLAGS)
47
48 # these are the gir files we generate by hand
49 BUILT_GIRSOURCES =
50
51 # these are the gir files we generate using g-ir-scanner
52 INTROSPECTION_GIRS =
53
54 # the base include path for headers
55 clutter_base_includedir = $(includedir)/clutter-$(CLUTTER_API_VERSION)
56 clutter_includedir = $(clutter_base_includedir)/clutter
57
58 # pkg-config files
59 pc_files =
60
61 # common sources - please, keep these sorted alphabetically
62 source_h =                                      \
63         $(srcdir)/clutter-action.h              \
64         $(srcdir)/clutter-actor-meta.h          \
65         $(srcdir)/clutter-actor.h               \
66         $(srcdir)/clutter-align-constraint.h    \
67         $(srcdir)/clutter-alpha.h               \
68         $(srcdir)/clutter-animatable.h          \
69         $(srcdir)/clutter-animation.h           \
70         $(srcdir)/clutter-animator.h            \
71         $(srcdir)/clutter-backend.h             \
72         $(srcdir)/clutter-behaviour.h           \
73         $(srcdir)/clutter-behaviour-depth.h     \
74         $(srcdir)/clutter-behaviour-ellipse.h   \
75         $(srcdir)/clutter-behaviour-opacity.h   \
76         $(srcdir)/clutter-behaviour-path.h      \
77         $(srcdir)/clutter-behaviour-rotate.h    \
78         $(srcdir)/clutter-behaviour-scale.h     \
79         $(srcdir)/clutter-bind-constraint.h     \
80         $(srcdir)/clutter-binding-pool.h        \
81         $(srcdir)/clutter-bin-layout.h          \
82         $(srcdir)/clutter-blur-effect.h         \
83         $(srcdir)/clutter-box.h                 \
84         $(srcdir)/clutter-box-layout.h          \
85         $(srcdir)/clutter-cairo-texture.h       \
86         $(srcdir)/clutter-child-meta.h          \
87         $(srcdir)/clutter-click-action.h        \
88         $(srcdir)/clutter-clone.h               \
89         $(srcdir)/clutter-color.h               \
90         $(srcdir)/clutter-colorize-effect.h     \
91         $(srcdir)/clutter-constraint.h          \
92         $(srcdir)/clutter-container.h           \
93         $(srcdir)/clutter-deform-effect.h       \
94         $(srcdir)/clutter-deprecated.h          \
95         $(srcdir)/clutter-desaturate-effect.h   \
96         $(srcdir)/clutter-device-manager.h      \
97         $(srcdir)/clutter-drag-action.h         \
98         $(srcdir)/clutter-effect.h              \
99         $(srcdir)/clutter-event.h               \
100         $(srcdir)/clutter-feature.h             \
101         $(srcdir)/clutter-fixed.h               \
102         $(srcdir)/clutter-fixed-layout.h        \
103         $(srcdir)/clutter-flow-layout.h         \
104         $(srcdir)/clutter-frame-source.h        \
105         $(srcdir)/clutter-group.h               \
106         $(srcdir)/clutter-input-device.h        \
107         $(srcdir)/clutter-interval.h            \
108         $(srcdir)/clutter-keysyms.h             \
109         $(srcdir)/clutter-keysyms-compat.h      \
110         $(srcdir)/clutter-layout-manager.h      \
111         $(srcdir)/clutter-layout-meta.h         \
112         $(srcdir)/clutter-list-model.h          \
113         $(srcdir)/clutter-main.h                \
114         $(srcdir)/clutter-media.h               \
115         $(srcdir)/clutter-model.h               \
116         $(srcdir)/clutter-offscreen-effect.h    \
117         $(srcdir)/clutter-page-turn-effect.h    \
118         $(srcdir)/clutter-path-constraint.h     \
119         $(srcdir)/clutter-path.h                \
120         $(srcdir)/clutter-rectangle.h           \
121         $(srcdir)/clutter-score.h               \
122         $(srcdir)/clutter-script.h              \
123         $(srcdir)/clutter-scriptable.h          \
124         $(srcdir)/clutter-settings.h            \
125         $(srcdir)/clutter-shader.h              \
126         $(srcdir)/clutter-shader-effect.h       \
127         $(srcdir)/clutter-shader-types.h        \
128         $(srcdir)/clutter-stage.h               \
129         $(srcdir)/clutter-stage-manager.h       \
130         $(srcdir)/clutter-stage-window.h        \
131         $(srcdir)/clutter-state.h               \
132         $(srcdir)/clutter-table-layout.h        \
133         $(srcdir)/clutter-texture.h             \
134         $(srcdir)/clutter-text.h                \
135         $(srcdir)/clutter-timeline.h            \
136         $(srcdir)/clutter-timeout-pool.h        \
137         $(srcdir)/clutter-types.h               \
138         $(srcdir)/clutter-units.h               \
139         $(srcdir)/clutter-util.h                \
140         $(NULL)
141
142 source_c = \
143         $(srcdir)/clutter-action.c              \
144         $(srcdir)/clutter-actor-box.c           \
145         $(srcdir)/clutter-actor-meta.c          \
146         $(srcdir)/clutter-actor.c               \
147         $(srcdir)/clutter-align-constraint.c    \
148         $(srcdir)/clutter-alpha.c               \
149         $(srcdir)/clutter-animatable.c          \
150         $(srcdir)/clutter-animation.c           \
151         $(srcdir)/clutter-animator.c            \
152         $(srcdir)/clutter-backend.c             \
153         $(srcdir)/clutter-behaviour.c           \
154         $(srcdir)/clutter-behaviour-depth.c     \
155         $(srcdir)/clutter-behaviour-ellipse.c   \
156         $(srcdir)/clutter-behaviour-opacity.c   \
157         $(srcdir)/clutter-behaviour-path.c      \
158         $(srcdir)/clutter-behaviour-rotate.c    \
159         $(srcdir)/clutter-behaviour-scale.c     \
160         $(srcdir)/clutter-bezier.c              \
161         $(srcdir)/clutter-bind-constraint.c     \
162         $(srcdir)/clutter-binding-pool.c        \
163         $(srcdir)/clutter-bin-layout.c          \
164         $(srcdir)/clutter-blur-effect.c         \
165         $(srcdir)/clutter-box.c                 \
166         $(srcdir)/clutter-box-layout.c          \
167         $(srcdir)/clutter-cairo-texture.c       \
168         $(srcdir)/clutter-child-meta.c          \
169         $(srcdir)/clutter-click-action.c        \
170         $(srcdir)/clutter-clone.c               \
171         $(srcdir)/clutter-color.c               \
172         $(srcdir)/clutter-colorize-effect.c     \
173         $(srcdir)/clutter-constraint.c          \
174         $(srcdir)/clutter-container.c           \
175         $(srcdir)/clutter-deform-effect.c       \
176         $(srcdir)/clutter-desaturate-effect.c   \
177         $(srcdir)/clutter-device-manager.c      \
178         $(srcdir)/clutter-drag-action.c         \
179         $(srcdir)/clutter-effect.c              \
180         $(srcdir)/clutter-event.c               \
181         $(srcdir)/clutter-feature.c             \
182         $(srcdir)/clutter-fixed.c               \
183         $(srcdir)/clutter-fixed-layout.c        \
184         $(srcdir)/clutter-flow-layout.c         \
185         $(srcdir)/clutter-frame-source.c        \
186         $(srcdir)/clutter-group.c               \
187         $(srcdir)/clutter-input-device.c        \
188         $(srcdir)/clutter-interval.c            \
189         $(srcdir)/clutter-layout-manager.c      \
190         $(srcdir)/clutter-layout-meta.c         \
191         $(srcdir)/clutter-list-model.c          \
192         $(srcdir)/clutter-main.c                \
193         $(srcdir)/clutter-master-clock.c        \
194         $(srcdir)/clutter-media.c               \
195         $(srcdir)/clutter-model.c               \
196         $(srcdir)/clutter-offscreen-effect.c    \
197         $(srcdir)/clutter-page-turn-effect.c    \
198         $(srcdir)/clutter-path-constraint.c     \
199         $(srcdir)/clutter-path.c                \
200         $(srcdir)/clutter-rectangle.c           \
201         $(srcdir)/clutter-score.c               \
202         $(srcdir)/clutter-script.c              \
203         $(srcdir)/clutter-script-parser.c       \
204         $(srcdir)/clutter-scriptable.c          \
205         $(srcdir)/clutter-settings.c            \
206         $(srcdir)/clutter-shader.c              \
207         $(srcdir)/clutter-shader-effect.c       \
208         $(srcdir)/clutter-shader-types.c        \
209         $(srcdir)/clutter-stage.c               \
210         $(srcdir)/clutter-stage-manager.c       \
211         $(srcdir)/clutter-stage-window.c        \
212         $(srcdir)/clutter-state.c               \
213         $(srcdir)/clutter-table-layout.c        \
214         $(srcdir)/clutter-texture.c             \
215         $(srcdir)/clutter-text.c                \
216         $(srcdir)/clutter-timeline.c            \
217         $(srcdir)/clutter-timeout-pool.c        \
218         $(srcdir)/clutter-units.c               \
219         $(srcdir)/clutter-util.c                \
220         $(srcdir)/clutter-paint-volume.c        \
221         $(NULL)
222
223 # private headers; these should not be distributed or introspected
224 source_h_priv = \
225         $(srcdir)/clutter-actor-meta-private.h          \
226         $(srcdir)/clutter-actor-private.h               \
227         $(srcdir)/clutter-backend-private.h             \
228         $(srcdir)/clutter-bezier.h                      \
229         $(srcdir)/clutter-debug.h                       \
230         $(srcdir)/clutter-device-manager-private.h      \
231         $(srcdir)/clutter-id-pool.h                     \
232         $(srcdir)/clutter-keysyms-table.h               \
233         $(srcdir)/clutter-master-clock.h                \
234         $(srcdir)/clutter-model-private.h               \
235         $(srcdir)/clutter-paint-volume-private.h        \
236         $(srcdir)/clutter-private.h                     \
237         $(srcdir)/clutter-profile.h                     \
238         $(srcdir)/clutter-script-private.h              \
239         $(srcdir)/clutter-stage-manager-private.h       \
240         $(srcdir)/clutter-stage-private.h               \
241         $(srcdir)/clutter-timeout-interval.h            \
242         $(NULL)
243
244 # private source code; these should not be introspected
245 source_c_priv = \
246         $(srcdir)/clutter-id-pool.c             \
247         $(srcdir)/clutter-profile.c             \
248         $(srcdir)/clutter-timeout-interval.c    \
249         $(NULL)
250
251 # built sources
252 built_source_c = \
253         clutter-enum-types.c                    \
254         clutter-marshal.c                       \
255         $(NULL)
256
257 # built headers
258 built_source_h = \
259         clutter-enum-types.h                    \
260         clutter-marshal.h                       \
261         $(NULL)
262
263 # version header
264 DISTCLEANFILES += clutter-version.h
265 EXTRA_DIST += clutter-version.h.in
266
267 # key symbol update script
268 EXTRA_DIST += clutter-keysyms-update.pl
269
270 pc_files += clutter-$(CLUTTER_API_VERSION).pc
271
272 # backends source listings
273 #
274 #   backend_source_c := source code
275 #   backend_source_h := installed public headers
276 #   backend_source_c_priv := source that should not be scanned by g-i
277 #   backend_source_h_priv := private headers
278 #   backend_source_built := built sources
279 #
280 backend_source_c =
281 backend_source_h =
282 backend_source_c_priv =
283 backend_source_h_priv =
284 backend_source_built =
285
286 # X11 backend rules
287 x11_source_c = \
288         $(srcdir)/x11/clutter-backend-x11.c             \
289         $(srcdir)/x11/clutter-device-manager-x11.c      \
290         $(srcdir)/x11/clutter-event-x11.c               \
291         $(srcdir)/x11/clutter-input-device-x11.c        \
292         $(srcdir)/x11/clutter-keymap-x11.c              \
293         $(srcdir)/x11/clutter-stage-x11.c               \
294         $(srcdir)/x11/clutter-x11-texture-pixmap.c      \
295         $(NULL)
296
297 x11_source_h = \
298         $(srcdir)/x11/clutter-x11.h                     \
299         $(srcdir)/x11/clutter-x11-texture-pixmap.h      \
300         $(NULL)
301
302 x11_source_h_priv = \
303         $(srcdir)/x11/clutter-backend-x11.h             \
304         $(srcdir)/x11/clutter-device-manager-x11.h      \
305         $(srcdir)/x11/clutter-input-device-x11.h        \
306         $(srcdir)/x11/clutter-keymap-x11.h              \
307         $(srcdir)/x11/clutter-settings-x11.h            \
308         $(srcdir)/x11/clutter-stage-x11.h               \
309         $(NULL)
310
311 x11_source_c_priv = \
312         $(srcdir)/x11/xsettings/xsettings-client.c      \
313         $(srcdir)/x11/xsettings/xsettings-client.h      \
314         $(srcdir)/x11/xsettings/xsettings-common.c      \
315         $(srcdir)/x11/xsettings/xsettings-common.h      \
316         $(NULL)
317
318 if SUPPORT_X11
319 backend_source_h += $(x11_source_h)
320 backend_source_c += $(x11_source_c)
321 backend_source_h_priv += $(x11_source_h_priv)
322 backend_source_c_priv += $(x11_source_c_priv)
323
324 # the list of files we want to introspect on X11
325 x11_introspection = $(x11_source_c) $(x11_source_h)
326
327 # pkg-config file for the X11 meta-backend
328 clutter-x11-$(CLUTTER_API_VERSION).pc: clutter-$(CLUTTER_API_VERSION).pc
329         $(QUIET_GEN)cp -f $< $(@F)
330
331 pc_files += clutter-x11-$(CLUTTER_API_VERSION).pc
332
333 clutterx11_includedir = $(clutter_includedir)/x11
334 clutterx11_include_HEADERS = $(x11_source_h)
335 endif # SUPPORT_X11
336
337 # GLX backend rules
338 glx_source_c = \
339         $(srcdir)/glx/clutter-backend-glx.c             \
340         $(srcdir)/glx/clutter-event-glx.c               \
341         $(srcdir)/glx/clutter-glx-texture-pixmap.c      \
342         $(srcdir)/glx/clutter-stage-glx.c               \
343         $(NULL)
344
345 glx_source_h = \
346         $(srcdir)/glx/clutter-glx-texture-pixmap.h      \
347         $(srcdir)/glx/clutter-glx.h                     \
348         $(NULL)
349
350 glx_source_h_priv = \
351         $(srcdir)/glx/clutter-backend-glx.h             \
352         $(srcdir)/glx/clutter-event-glx.h               \
353         $(srcdir)/glx/clutter-stage-glx.h               \
354         $(NULL)
355
356 if SUPPORT_GLX
357 backend_source_h += $(glx_source_h)
358 backend_source_c += $(glx_source_c)
359 backend_source_h_priv += $(glx_source_h_priv)
360
361 # XXX - this is another hack; we installed glx headers under includedir/glx
362 # instead of using the same directory.
363 clutterglx_includedir = $(clutter_includedir)/glx
364 clutterglx_include_HEADERS = $(glx_source_h)
365 endif # SUPPORT_GLX
366
367 # Windows backend rules
368 win32_source_c = \
369         $(srcdir)/win32/clutter-backend-win32.c         \
370         $(srcdir)/win32/clutter-device-manager-win32.c  \
371         $(srcdir)/win32/clutter-event-win32.c           \
372         $(srcdir)/win32/clutter-stage-win32.c           \
373         $(NULL)
374
375 win32_source_h = \
376         $(srcdir)/win32/clutter-win32.h                 \
377         $(NULL)
378
379 win32_source_h_priv = \
380         $(srcdir)/win32/clutter-backend-win32.h         \
381         $(srcdir)/win32/clutter-device-manager-win32.h  \
382         $(srcdir)/win32/clutter-stage-win32.h           \
383         $(NULL)
384
385 if SUPPORT_WIN32
386 # Ideally this resources stuff would go in win32/ but libtool doesn't
387 # seem to pass on the -Wl argument when linking a convenience library
388 # so we need to do it here as part of linking the dll. libtool also
389 # won't let you link against the .o directly because it wants you to
390 # link against libtool objects for dynamic libraries.
391 .rc.o :
392         $(WINDRES) -I$(srcdir)/win32 $< $@
393
394 win32/resources.o : $(srcdir)/win32/invisible-cursor.cur
395
396 win32_resources = win32/resources.o
397 win32_resources_ldflag = -Wl,win32/resources.o
398
399 backend_source_h += $(win32_source_h)
400 backend_source_c += $(win32_source_c)
401 backend_source_h_priv += $(win32_source_h_priv)
402
403 clutterwin_includedir = $(clutter_includedir)/win32
404 clutterwin_include_HEADERS = $(win32_source_h)
405 endif # SUPPORT_WIN32
406
407 EXTRA_DIST += \
408         $(srcdir)/win32/invisible-cursor.cur    \
409         $(srcdir)/win32/resources.rc            \
410         $(NULL)
411
412 # EGL backend rules
413 egl_source_h = \
414         $(srcdir)/egl/clutter-egl-headers.h     \
415         $(srcdir)/egl/clutter-egl.h             \
416         $(NULL)
417
418 egl_source_c = \
419         $(srcdir)/egl/clutter-backend-egl.c     \
420         $(srcdir)/egl/clutter-stage-egl.c       \
421         $(NULL)
422
423 egl_source_h_priv = \
424         $(srcdir)/egl/clutter-backend-egl.h     \
425         $(srcdir)/egl/clutter-stage-egl.h       \
426         $(NULL)
427
428 egl_source_c_priv =
429
430 egl_tslib_c = $(srcdir)/egl/clutter-event-tslib.c
431
432 egl_cex_c_priv = $(srcdir)/egl/clutter-backend-cex100.c
433 egl_cex_h_priv = $(srcdir)/egl/clutter-backend-cex100.h
434 egl_cex_h = $(srcdir)/egl/clutter-cex100.h
435
436 if SUPPORT_EGL
437 if USE_TSLIB
438 egl_source_c_priv += $(egl_tslib_c)
439 endif # SUPPORT_TSLIB
440 if SUPPORT_CEX100
441 egl_source_c_priv += $(egl_cex_c_priv)
442 egl_source_h_priv += $(egl_cex_h_priv)
443 egl_source_h += $(egl_cex_h)
444 endif # SUPPORT_CEX100
445
446 backend_source_h += $(egl_source_h)
447 backend_source_c += $(egl_source_c)
448 backend_source_h_priv += $(egl_source_h_priv)
449 backend_source_c_priv += $(egl_source_c_priv)
450
451 clutteregl_includedir = $(clutter_includedir)/egl
452 clutteregl_include_HEADERS = $(egl_source_h)
453 endif # SUPPORT_EGL
454
455 # OSX backend rules
456 osx_source_c = \
457         $(srcdir)/osx/clutter-backend-osx.c     \
458         $(srcdir)/osx/clutter-stage-osx.c       \
459         $(NULL)
460
461 osx_source_h = $(srcdir)/osx/clutter-osx.h
462
463 osx_source_h_priv = \
464         $(srcdir)/osx/clutter-backend-osx.h     \
465         $(srcdir)/osx/clutter-stage-osx.h       \
466         $(NULL)
467
468 osx_source_c_priv = $(srcdir)/osx/clutter-event-osx.c
469
470 if SUPPORT_OSX
471 # we need to tell the compiler that part of our code base is
472 # in Objective C
473 AM_CFLAGS += -xobjective-c
474
475 backend_source_h += $(osx_source_h)
476 backend_source_c += $(osx_source_c)
477 backend_source_h_priv += $(osx_source_h_priv)
478 backend_source_c_priv += $(osx_source_c_priv)
479
480 clutterosx_includedir = $(clutter_includedir)/osx
481 clutterosx_include_HEADERS = $(osx_source_h)
482 endif # SUPPORT_OSX
483
484 # Fruity backend rules
485 fruity_source_c = \
486         $(srcdir)/fruity/clutter-backend-fruity.c       \
487         $(srcdir)/fruity/clutter-stage-fruity.c         \
488         $(srcdir)/fruity/clutter-fruity.c               \
489         $(NULL)
490
491 fruity_source_h = \
492         $(srcdir)/fruity/clutter-backend-fruity.h       \
493         $(srcdir)/fruity/clutter-stage-fruity.h         \
494         $(srcdir)/fruity/clutter-fruity.h               \
495         $(NULL)
496
497 if SUPPORT_FRUITY
498 AM_CFLAGS += -xobjective-c
499
500 backend_source_c_priv += $(fruity_source_c)
501 backend_source_h_priv += $(fruity_source_h)
502
503 clutterfruity_includedir = $(clutter_includedir)/fruity
504 clutterfruity_include_HEADERS = $(srcdir)/fruity/clutter-fruity.h
505 endif # SUPPORT_FRUITY
506
507 # Wayland backend rules
508 if SUPPORT_WAYLAND
509 backend_source_h += \
510         $(srcdir)/wayland/clutter-wayland.h
511
512 backend_source_h_priv += \
513         $(srcdir)/wayland/clutter-backend-wayland.h \
514         $(srcdir)/wayland/clutter-stage-wayland.h
515
516 backend_source_c += \
517         $(srcdir)/wayland/clutter-backend-wayland.c \
518         $(srcdir)/wayland/clutter-stage-wayland.c \
519         $(srcdir)/wayland/clutter-event-wayland.c \
520         $(srcdir)/wayland/clutter-input-device-wayland.c
521
522 clutterwayland_includedir = $(clutter_includedir)/wayland
523 clutterwayland_include_HEADERS = $(wayland_source_h)
524 endif # SUPPORT_WAYLAND
525
526 # cally
527 cally_sources_h = \
528         $(srcdir)/cally/cally-actor.h           \
529         $(srcdir)/cally/cally-clone.h           \
530         $(srcdir)/cally/cally-factory.h         \
531         $(srcdir)/cally/cally-group.h           \
532         $(srcdir)/cally/cally.h                 \
533         $(srcdir)/cally/cally-main.h            \
534         $(srcdir)/cally/cally-rectangle.h       \
535         $(srcdir)/cally/cally-root.h            \
536         $(srcdir)/cally/cally-stage.h           \
537         $(srcdir)/cally/cally-text.h            \
538         $(srcdir)/cally/cally-texture.h         \
539         $(srcdir)/cally/cally-util.h            \
540         $(NULL)
541
542 cally_sources_c = \
543         $(srcdir)/cally/cally-actor.c           \
544         $(srcdir)/cally/cally.c                 \
545         $(srcdir)/cally/cally-clone.c           \
546         $(srcdir)/cally/cally-group.c           \
547         $(srcdir)/cally/cally-rectangle.c       \
548         $(srcdir)/cally/cally-root.c            \
549         $(srcdir)/cally/cally-stage.c           \
550         $(srcdir)/cally/cally-text.c            \
551         $(srcdir)/cally/cally-texture.c         \
552         $(srcdir)/cally/cally-util.c            \
553         $(NULL)
554
555 cally_sources_private = \
556         $(srcdir)/cally/cally-actor-private.h   \
557         $(NULL)
558
559 cally_includedir = $(clutter_base_includedir)/cally
560 cally_include_HEADERS = $(cally_sources_h)
561
562 pc_files += cally/cally-$(CLUTTER_API_VERSION).pc
563 EXTRA_DIST += cally/cally.pc.in
564
565 # general build rules:
566 # you should not need to modify anything below this point
567
568 # glib-genmarshal rules
569 glib_marshal_list = clutter-marshal.list
570 glib_marshal_prefix = _clutter_marshal
571 include $(top_srcdir)/build/autotools/Makefile.am.marshal
572
573 # glib-mkenums rules
574 glib_enum_h = clutter-enum-types.h
575 glib_enum_c = clutter-enum-types.c
576 glib_enum_headers = $(source_h) $(backend_source_h)
577 include $(top_srcdir)/build/autotools/Makefile.am.enums
578
579 # backend-specific pkg-config file
580 clutter-$(CLUTTER_WINSYS)-$(CLUTTER_API_VERSION).pc: clutter-$(CLUTTER_API_VERSION).pc
581         $(QUIET_GEN)cp -f $< $(@F)
582
583 pc_files += clutter-$(CLUTTER_WINSYS)-$(CLUTTER_API_VERSION).pc
584
585 pkgconfigdir = $(libdir)/pkgconfig
586 pkgconfig_DATA = $(pc_files)
587 DISTCLEANFILES += $(pc_files)
588
589 clutter_include_HEADERS = $(source_h) $(top_srcdir)/clutter/clutter.h
590 nodist_clutter_include_HEADERS = \
591         $(top_builddir)/clutter/clutter-version.h \
592         $(built_source_h)
593
594 lib_LTLIBRARIES += libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la
595
596 libclutter_@CLUTTER_SONAME_INFIX@_@CLUTTER_API_VERSION@_la_LIBADD = \
597         $(CLUTTER_LIBS) \
598         $(CLUTTER_PROFILE_LIBS) \
599         $(top_builddir)/clutter/cogl/cogl/libclutter-cogl.la \
600         $(top_builddir)/clutter/cogl/pango/libcoglpango.la
601
602 libclutter_@CLUTTER_SONAME_INFIX@_@CLUTTER_API_VERSION@_la_DEPENDENCIES = \
603         $(top_builddir)/clutter/cogl/cogl/libclutter-cogl.la \
604         $(top_builddir)/clutter/cogl/pango/libcoglpango.la \
605         $(win32_resources)
606
607 libclutter_@CLUTTER_SONAME_INFIX@_@CLUTTER_API_VERSION@_la_SOURCES = \
608         $(backend_source_c) \
609         $(backend_source_h) \
610         $(backend_source_c_priv) \
611         $(backend_source_h_priv) \
612         $(source_c) \
613         $(source_h) \
614         $(source_c_priv) \
615         $(source_h_priv) \
616         $(cally_sources_c) \
617         $(cally_sources_h) \
618         $(cally_sources_private) \
619         $(NULL)
620
621 nodist_libclutter_@CLUTTER_SONAME_INFIX@_@CLUTTER_API_VERSION@_la_SOURCES = \
622         $(backend_source_built) \
623         $(built_source_c) \
624         $(built_source_h)
625
626 libclutter_@CLUTTER_SONAME_INFIX@_@CLUTTER_API_VERSION@_la_LDFLAGS = \
627         $(CLUTTER_LINK_FLAGS) \
628         $(CLUTTER_LT_LDFLAGS) \
629         $(GCOV_LDFLAGS) \
630         -export-dynamic \
631         -export-symbols-regex "^(clutter|cogl|cally).*" \
632         -rpath $(libdir) \
633         $(win32_resources_ldflag) \
634         $(NULL)
635
636 # gobject-introspection rules
637 -include $(INTROSPECTION_MAKEFILE)
638
639 if HAVE_INTROSPECTION
640 INTROSPECTION_GIRS += Clutter-@CLUTTER_API_VERSION@.gir
641
642 Clutter-@CLUTTER_API_VERSION@.gir: libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la Makefile
643
644 Clutter_@CLUTTER_API_VERSION_AM@_gir_NAMESPACE = Clutter
645 Clutter_@CLUTTER_API_VERSION_AM@_gir_VERSION = @CLUTTER_API_VERSION@
646 Clutter_@CLUTTER_API_VERSION_AM@_gir_LIBS = libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la
647 Clutter_@CLUTTER_API_VERSION_AM@_gir_FILES = $(clutter_include_HEADERS) $(nodist_clutter_include_HEADERS) $(source_c) $(built_source_c)
648 Clutter_@CLUTTER_API_VERSION_AM@_gir_CFLAGS = $(INCLUDES) $(CLUTTER_CFLAGS) $(AM_CPPFLAGS) -UCLUTTER_DISABLE_DEPRECATED
649 Clutter_@CLUTTER_API_VERSION_AM@_gir_INCLUDES = GL-1.0 GObject-2.0 Atk-1.0 Pango-1.0 PangoCairo-1.0 Json-1.0
650 Clutter_@CLUTTER_API_VERSION_AM@_gir_SCANNERFLAGS = \
651         --warn-all \
652         --c-include='clutter/clutter.h' \
653         --pkg-export=clutter-@CLUTTER_API_VERSION@ \
654         --include-uninstalled=$(top_builddir)/clutter/cogl/cogl/Cogl-@CLUTTER_API_VERSION@.gir
655
656 # Cogl.gir is used included into Clutter.gir, so it needs to be built
657 # before the typelib is generated
658 Clutter-@CLUTTER_API_VERSION@.typelib: Cogl-@CLUTTER_API_VERSION@.gir
659
660 # We build Cogl.gir in the cogl/ subdir, but it needs to reference the shared
661 # library that it's built into, so we delay compiling the gir into typelib
662 # until after we've built the shared library. To create the final Cogl.gir
663 # that we compile and install, we transfer the shared-library="" line from
664 # Clutter.gir to Cogl.gir
665 Cogl-@CLUTTER_API_VERSION@.gir: Makefile Clutter-@CLUTTER_API_VERSION@.gir cogl/cogl/Cogl-@CLUTTER_API_VERSION@.gir
666         $(QUIET_GEN) \
667         shlib=`sed -n 's/.*shared-library="\([^"]*\)".*/\1/p' < Clutter-@CLUTTER_API_VERSION@.gir` ; \
668         sed "s/shared-library=\"[^\"]*\"/shared-library=\"$$shlib\"/"< cogl/cogl/Cogl-@CLUTTER_API_VERSION@.gir > $@
669
670 BUILT_GIRSOURCES += Cogl-@CLUTTER_API_VERSION@.gir
671
672 Cally-@CLUTTER_API_VERSION@.gir: Makefile Clutter-@CLUTTER_API_VERSION@.gir Cogl-@CLUTTER_API_VERSION@.gir
673
674 Cally_@CLUTTER_API_VERSION_AM@_gir_NAMESPACE = Cally
675 Cally_@CLUTTER_API_VERSION_AM@_gir_VERSION = @CLUTTER_API_VERSION@
676 Cally_@CLUTTER_API_VERSION_AM@_gir_LIBS = libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la
677 Cally_@CLUTTER_API_VERSION_AM@_gir_FILES = $(cally_sources_h) $(cally_sources_c)
678 Cally_@CLUTTER_API_VERSION_AM@_gir_CFLAGS = $(INCLUDES) $(CLUTTER_CFLAGS) $(AM_CPPFLAGS) -UCLUTTER_DISABLE_DEPRECATED
679 Cally_@CLUTTER_API_VERSION_AM@_gir_SCANNERFLAGS = \
680         --warn-all \
681         --identifier-prefix=Cally \
682         --symbol-prefix=cally \
683         --c-include='cally/cally.h' \
684         --pkg-export=cally-@CLUTTER_API_VERSION@ \
685         --include-uninstalled=$(top_builddir)/clutter/Cogl-@CLUTTER_API_VERSION@.gir \
686         --include-uninstalled=$(top_builddir)/clutter/Clutter-@CLUTTER_API_VERSION@.gir
687
688 INTROSPECTION_GIRS += Cally-@CLUTTER_API_VERSION@.gir
689
690 if SUPPORT_X11
691 ClutterX11-@CLUTTER_API_VERSION@.gir: Makefile Clutter-@CLUTTER_API_VERSION@.gir Cogl-@CLUTTER_API_VERSION@.gir
692
693 ClutterX11_@CLUTTER_API_VERSION_AM@_gir_SCANNERFLAGS = \
694         --warn-all \
695         --identifier-prefix=ClutterX11 \
696         --symbol-prefix=clutter_x11 \
697         --c-include='clutter/x11/clutter-x11.h' \
698         --pkg-export=clutter-x11-@CLUTTER_API_VERSION@ \
699         --include-uninstalled=$(top_builddir)/clutter/Cogl-@CLUTTER_API_VERSION@.gir \
700         --include-uninstalled=$(top_builddir)/clutter/Clutter-@CLUTTER_API_VERSION@.gir
701 ClutterX11_@CLUTTER_API_VERSION_AM@_gir_INCLUDES = xlib-2.0
702 ClutterX11_@CLUTTER_API_VERSION_AM@_gir_LIBS = libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la
703 ClutterX11_@CLUTTER_API_VERSION_AM@_gir_FILES = $(x11_introspection)
704 ClutterX11_@CLUTTER_API_VERSION_AM@_gir_CFLAGS = $(INCLUDES) $(CLUTTER_CFLAGS) $(AM_CPPFLAGS) -UCLUTTER_DISABLE_DEPRECATED
705
706 INTROSPECTION_GIRS += ClutterX11-@CLUTTER_API_VERSION@.gir
707 endif # SUPPORT_X11
708
709 # INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
710 # install anything - we need to install inside our prefix.
711 girdir = $(datadir)/gir-1.0
712 gir_DATA = $(BUILT_GIRSOURCES) $(INTROSPECTION_GIRS)
713
714 typelibsdir = $(libdir)/girepository-1.0/
715 typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) $(INTROSPECTION_GIRS:.gir=.typelib)
716
717 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
718 endif # HAVE_INTROSPECTION
719
720 # GCov rules
721 gcov_sources = $(source_c) $(backend_source_c)
722 include $(top_srcdir)/build/autotools/Makefile.am.gcov