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