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