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