1AUTOMAKE_OPTIONS = subdir-objects
2
3# preamble
4NULL =
5
6# common definitions
7CLEANFILES =
8DISTCLEANFILES =
9EXTRA_DIST =
10BUILT_SOURCES =
11
12AM_CPPFLAGS = \
13	-DCLUTTER_PREFIX=\""$(prefix)"\"	\
14	-DCLUTTER_LIBDIR=\""$(libdir)"\"	\
15	-DCLUTTER_DATADIR=\""$(datadir)"\"	\
16	-DCLUTTER_LOCALEDIR=\""$(localedir)"\"	\
17	-DCLUTTER_SYSCONFDIR=\""$(sysconfdir)"\" \
18	-DCLUTTER_COMPILATION=1			\
19	-DCOGL_DISABLE_DEPRECATION_WARNINGS	\
20	-DG_LOG_DOMAIN=\"Clutter\" 		\
21	-I$(top_srcdir) 			\
22	-I$(top_srcdir)/clutter			\
23	-I$(top_srcdir)/clutter/cally		\
24	-I$(top_builddir)			\
25	-I$(top_builddir)/clutter		\
26	-I$(top_srcdir)/../cogl			\
27	-I$(top_builddir)/../cogl		\
28	-I$(top_builddir)/../cogl/cogl		\
29	$(CLUTTER_DEPRECATED_CFLAGS)		\
30	$(CLUTTER_DEBUG_CFLAGS)			\
31	$(CLUTTER_HIDDEN_VISIBILITY_CFLAGS)	\
32	$(NULL)
33
34AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
35
36# these are the gir files we generate using g-ir-scanner
37INTROSPECTION_GIRS =
38
39# the base include path for headers
40clutter_base_includedir = $(includedir)/muffin/clutter-$(MUFFIN_PLUGIN_API_VERSION)
41clutter_includedir = $(clutter_base_includedir)/clutter
42clutter_deprecateddir = $(clutter_base_includedir)/clutter/deprecated
43
44# pkg-config files
45pc_files =
46
47# common sources - please, keep these sorted alphabetically
48source_h =					\
49	clutter-action.h		\
50	clutter-actor-meta.h		\
51	clutter-actor.h		\
52	clutter-align-constraint.h	\
53	clutter-animatable.h          \
54	clutter-backend.h		\
55	clutter-bind-constraint.h	\
56	clutter-binding-pool.h 	\
57	clutter-bin-layout.h		\
58	clutter-blur-effect.h		\
59	clutter-box-layout.h		\
60	clutter-brightness-contrast-effect.h	\
61	clutter-cairo.h		\
62	clutter-canvas.h		\
63	clutter-child-meta.h		\
64	clutter-click-action.h	\
65	clutter-clone.h		\
66	clutter-color-static.h	\
67	clutter-color.h		\
68	clutter-colorize-effect.h	\
69	clutter-constraint.h		\
70	clutter-container.h		\
71	clutter-content.h		\
72	clutter-deform-effect.h	\
73	clutter-deprecated.h		\
74	clutter-desaturate-effect.h	\
75	clutter-device-manager.h	\
76	clutter-drag-action.h		\
77	clutter-drop-action.h		\
78	clutter-effect.h		\
79	clutter-enums.h		\
80	clutter-event.h 		\
81	clutter-feature.h 		\
82	clutter-fixed-layout.h	\
83	clutter-flow-layout.h		\
84	clutter-gesture-action.h 	\
85	clutter-grid-layout.h 	\
86	clutter-group.h 		\
87	clutter-image.h		\
88	clutter-input-device.h	\
89	clutter-input-device-tool.h	\
90	clutter-input-focus.h	\
91	clutter-input-method.h	\
92        clutter-interval.h            \
93	clutter-keyframe-transition.h	\
94	clutter-keysyms.h 		\
95	clutter-layout-manager.h	\
96	clutter-layout-meta.h		\
97	clutter-macros.h		\
98	clutter-main.h		\
99	clutter-offscreen-effect.h	\
100	clutter-page-turn-effect.h	\
101	clutter-paint-nodes.h		\
102	clutter-paint-node.h		\
103	clutter-pan-action.h		\
104	clutter-path-constraint.h	\
105	clutter-path.h		\
106	clutter-property-transition.h	\
107	clutter-rotate-action.h	\
108	clutter-script.h		\
109	clutter-scriptable.h		\
110	clutter-scroll-actor.h	\
111	clutter-settings.h		\
112	clutter-shader-effect.h	\
113	clutter-shader-types.h	\
114	clutter-swipe-action.h	\
115	clutter-snap-constraint.h	\
116	clutter-stage.h 		\
117	clutter-stage-manager.h	\
118	clutter-tap-action.h		\
119	clutter-test-utils.h		\
120	clutter-texture.h 		\
121	clutter-text.h		\
122	clutter-text-buffer.h		\
123	clutter-timeline.h 		\
124	clutter-transition-group.h	\
125	clutter-transition.h		\
126	clutter-types.h		\
127	clutter-units.h 		\
128	clutter-virtual-input-device.h	\
129	clutter-zoom-action.h		\
130	$(NULL)
131
132source_c = \
133	clutter-action.c		\
134	clutter-actor-box.c		\
135	clutter-actor-meta.c		\
136	clutter-actor.c		\
137	clutter-align-constraint.c	\
138	clutter-animatable.c		\
139	clutter-backend.c		\
140	clutter-base-types.c		\
141	clutter-bezier.c		\
142	clutter-bind-constraint.c	\
143	clutter-binding-pool.c	\
144	clutter-bin-layout.c		\
145	clutter-blur-effect.c		\
146	clutter-box-layout.c		\
147	clutter-brightness-contrast-effect.c	\
148	clutter-cairo.c		\
149	clutter-canvas.c		\
150	clutter-child-meta.c		\
151	clutter-click-action.c	\
152	clutter-clone.c		\
153	clutter-color.c 		\
154	clutter-colorize-effect.c	\
155	clutter-constraint.c		\
156	clutter-container.c		\
157	clutter-content.c		\
158	clutter-deform-effect.c	\
159	clutter-desaturate-effect.c	\
160	clutter-device-manager.c	\
161	clutter-drag-action.c		\
162	clutter-drop-action.c		\
163	clutter-effect.c		\
164	clutter-event.c 		\
165	clutter-feature.c 		\
166	clutter-fixed-layout.c	\
167	clutter-flatten-effect.c	\
168	clutter-flow-layout.c		\
169	clutter-gesture-action.c 	\
170	clutter-grid-layout.c 	\
171	clutter-image.c		\
172	clutter-input-device.c	\
173	clutter-input-device-tool.c	\
174	clutter-input-focus.c	\
175	clutter-input-method.c	\
176	clutter-virtual-input-device.c	\
177	clutter-interval.c            \
178	clutter-keyframe-transition.c	\
179	clutter-keysyms-table.c	\
180	clutter-layout-manager.c	\
181	clutter-layout-meta.c		\
182	clutter-main.c 		\
183	clutter-master-clock.c	\
184	clutter-master-clock-default.c	\
185	clutter-offscreen-effect.c	\
186	clutter-page-turn-effect.c	\
187	clutter-paint-nodes.c		\
188	clutter-paint-node.c		\
189	clutter-pan-action.c		\
190	clutter-path-constraint.c	\
191	clutter-path.c		\
192	clutter-property-transition.c	\
193	clutter-rotate-action.c	\
194	clutter-script.c		\
195	clutter-script-parser.c	\
196	clutter-scriptable.c		\
197	clutter-scroll-actor.c	\
198	clutter-settings.c		\
199	clutter-shader-effect.c	\
200	clutter-shader-types.c	\
201	clutter-swipe-action.c	\
202	clutter-snap-constraint.c	\
203	clutter-stage.c		\
204	clutter-stage-manager.c	\
205	clutter-stage-window.c	\
206	clutter-tap-action.c		\
207	clutter-test-utils.c		\
208	clutter-text.c		\
209	clutter-text-buffer.c		\
210	clutter-transition-group.c	\
211	clutter-transition.c		\
212	clutter-timeline.c 		\
213	clutter-units.c		\
214	clutter-util.c 		\
215	clutter-paint-volume.c 	\
216	clutter-zoom-action.c 	\
217	$(NULL)
218
219# private headers; these should not be distributed or introspected
220source_h_priv = \
221	clutter-actor-meta-private.h		\
222	clutter-actor-private.h			\
223	clutter-backend-private.h		\
224	clutter-bezier.h			\
225	clutter-constraint-private.h		\
226	clutter-content-private.h		\
227	clutter-debug.h 			\
228	clutter-device-manager-private.h	\
229	clutter-easing.h			\
230	clutter-effect-private.h		\
231	clutter-event-translator.h		\
232	clutter-event-private.h			\
233	clutter-flatten-effect.h		\
234	clutter-gesture-action-private.h	\
235	clutter-id-pool.h 			\
236	clutter-input-focus-private.h		\
237	clutter-input-method-private.h		\
238	clutter-master-clock.h			\
239	clutter-master-clock-default.h		\
240	clutter-offscreen-effect-private.h	\
241	clutter-paint-node-private.h		\
242	clutter-paint-volume-private.h		\
243	clutter-private.h 			\
244	clutter-script-private.h		\
245	clutter-settings-private.h		\
246	clutter-stage-manager-private.h		\
247	clutter-stage-private.h			\
248	clutter-stage-view.h			\
249	clutter-stage-window.h			\
250	$(NULL)
251
252# private source code; these should not be introspected
253source_c_priv = \
254	clutter-easing.c		\
255	clutter-event-translator.c	\
256	clutter-id-pool.c 		\
257	clutter-stage-view.c		\
258	$(NULL)
259
260# deprecated installed headers
261deprecated_h = \
262	deprecated/clutter-actor.h			\
263	deprecated/clutter-alpha.h 			\
264	deprecated/clutter-animatable.h		\
265	deprecated/clutter-animation.h		\
266	deprecated/clutter-animator.h			\
267	deprecated/clutter-backend.h			\
268	deprecated/clutter-behaviour.h 		\
269	deprecated/clutter-behaviour-depth.h 		\
270	deprecated/clutter-behaviour-ellipse.h	\
271	deprecated/clutter-behaviour-opacity.h 	\
272	deprecated/clutter-behaviour-path.h 		\
273	deprecated/clutter-behaviour-rotate.h 	\
274	deprecated/clutter-behaviour-scale.h 		\
275	deprecated/clutter-bin-layout.h		\
276	deprecated/clutter-box.h			\
277	deprecated/clutter-cairo-texture.h		\
278	deprecated/clutter-container.h		\
279	deprecated/clutter-frame-source.h		\
280	deprecated/clutter-group.h			\
281	deprecated/clutter-input-device.h		\
282	deprecated/clutter-keysyms.h			\
283	deprecated/clutter-list-model.h			\
284	deprecated/clutter-main.h			\
285	deprecated/clutter-media.h			\
286	deprecated/clutter-model.h			\
287	deprecated/clutter-rectangle.h		\
288	deprecated/clutter-score.h 			\
289	deprecated/clutter-shader.h 			\
290	deprecated/clutter-stage-manager.h		\
291	deprecated/clutter-stage.h			\
292	deprecated/clutter-state.h			\
293	deprecated/clutter-table-layout.h		\
294	deprecated/clutter-texture.h			\
295	deprecated/clutter-timeline.h 		\
296	deprecated/clutter-timeout-pool.h 		\
297	deprecated/clutter-util.h 			\
298	$(NULL)
299
300# deprecated source code
301deprecated_c = \
302	deprecated/clutter-actor-deprecated.c		\
303	deprecated/clutter-alpha.c 			\
304	deprecated/clutter-animation.c		\
305	deprecated/clutter-animator.c			\
306	deprecated/clutter-behaviour.c 		\
307	deprecated/clutter-behaviour-depth.c		\
308	deprecated/clutter-behaviour-ellipse.c	\
309	deprecated/clutter-behaviour-opacity.c	\
310	deprecated/clutter-behaviour-path.c		\
311	deprecated/clutter-behaviour-rotate.c		\
312	deprecated/clutter-behaviour-scale.c		\
313	deprecated/clutter-box.c			\
314	deprecated/clutter-cairo-texture.c		\
315	deprecated/clutter-frame-source.c		\
316	deprecated/clutter-group.c 			\
317	deprecated/clutter-input-device-deprecated.c	\
318	deprecated/clutter-layout-manager-deprecated.c \
319	deprecated/clutter-list-model.c			\
320	deprecated/clutter-media.c			\
321	deprecated/clutter-model.c			\
322	deprecated/clutter-rectangle.c 		\
323	deprecated/clutter-score.c 			\
324	deprecated/clutter-shader.c 			\
325	deprecated/clutter-state.c			\
326	deprecated/clutter-table-layout.c		\
327	deprecated/clutter-texture.c 			\
328	deprecated/clutter-timeout-pool.c		\
329	$(NULL)
330
331# deprecated private headers; these should not be installed
332deprecated_h_priv = \
333	deprecated/clutter-model-private.h	\
334	deprecated/clutter-timeout-interval.h	\
335	$(NULL)
336
337# deprecated private source code; these should not be introspected
338deprecated_c_priv = \
339	deprecated/clutter-timeout-interval.c	\
340	$(NULL)
341
342# built sources
343built_source_c = \
344	clutter-enum-types.c			\
345	clutter-marshal.c			\
346	$(NULL)
347
348# built headers
349built_source_h = \
350	clutter-enum-types.h			\
351	clutter-marshal.h			\
352	$(NULL)
353
354# config header
355DISTCLEANFILES += clutter-config.h
356EXTRA_DIST += clutter-config.h.in
357
358# version header
359DISTCLEANFILES += clutter-version.h
360EXTRA_DIST += clutter-version.h.in clutter-version.h
361
362# key symbol update script
363EXTRA_DIST += clutter-keysyms-update.pl
364
365pc_files += muffin-clutter-$(MUFFIN_PLUGIN_API_VERSION).pc
366
367# in order to be compatible with Clutter < 1.10, when we shipped a single
368# shared library whose name was determined by the single backend it
369# supported, we need to install symbolic links so that existing applications
370# using Clutter won't break in the Brave New World of multi-backend support
371# in the same shared object.
372compat_libs =
373
374# backends source listings
375#
376#   backend_source_c := source code
377#   backend_source_h := installed public headers
378#   backend_source_c_priv := source that should not be scanned by g-i
379#   backend_source_h_priv := private headers
380#   backend_source_built := built sources
381#
382backend_source_c =
383backend_source_h =
384backend_source_c_priv =
385backend_source_h_priv =
386backend_source_built =
387
388# X11 backend rules
389x11_source_c = \
390	x11/clutter-backend-x11.c		\
391	x11/clutter-device-manager-core-x11.c	\
392	x11/clutter-event-x11.c		\
393	x11/clutter-input-device-core-x11.c	\
394	x11/clutter-keymap-x11.c		\
395	x11/clutter-stage-x11.c		\
396	x11/clutter-x11-texture-pixmap.c	\
397	x11/clutter-xkb-a11y-x11.c		\
398	$(NULL)
399
400x11_source_h = \
401	x11/clutter-x11.h			\
402	x11/clutter-x11-texture-pixmap.h	\
403	$(NULL)
404
405x11_source_h_priv = \
406	x11/clutter-backend-x11.h		\
407	x11/clutter-device-manager-core-x11.h	\
408	x11/clutter-input-device-core-x11.h	\
409	x11/clutter-keymap-x11.h		\
410	x11/clutter-settings-x11.h		\
411	x11/clutter-stage-x11.h		\
412	x11/clutter-xkb-a11y-x11.h		\
413	$(NULL)
414
415x11_source_c_priv = \
416	x11/xsettings/xsettings-client.c	\
417	x11/xsettings/xsettings-client.h	\
418	x11/xsettings/xsettings-common.c	\
419	x11/xsettings/xsettings-common.h	\
420	$(NULL)
421
422x11_source_c += \
423	x11/clutter-device-manager-xi2.c	\
424	x11/clutter-input-device-xi2.c	\
425	x11/clutter-input-device-tool-xi2.c \
426	$(NULL)
427
428x11_source_h_priv += \
429	x11/clutter-device-manager-xi2.h	\
430	x11/clutter-input-device-xi2.h	\
431	x11/clutter-input-device-tool-xi2.h \
432	$(NULL)
433
434x11_source_c += \
435	x11/clutter-virtual-input-device-x11.c	\
436	$(NULL)
437
438x11_source_h_priv += \
439	x11/clutter-virtual-input-device-x11.h	\
440	$(NULL)
441
442backend_source_h += $(x11_source_h)
443backend_source_c += $(x11_source_c)
444backend_source_h_priv += $(x11_source_h_priv)
445backend_source_c_priv += $(x11_source_c_priv)
446
447# the list of files we want to introspect on X11
448x11_introspection = $(x11_source_c) $(x11_source_h)
449
450clutterx11_includedir = $(clutter_includedir)/x11
451clutterx11_include_HEADERS = $(x11_source_h)
452
453muffin-clutter-x11-@MUFFIN_PLUGIN_API_VERSION@.pc: muffin-clutter-$(MUFFIN_PLUGIN_API_VERSION).pc
454	$(QUIET_GEN)cp -f $< $(@F)
455
456pc_files += muffin-clutter-x11-$(MUFFIN_PLUGIN_API_VERSION).pc
457
458# Shared cogl backend files
459cogl_source_h =
460
461cogl_source_c = \
462	cogl/clutter-stage-cogl.c	\
463	$(NULL)
464
465cogl_source_h_priv = \
466	cogl/clutter-stage-cogl.h	\
467	$(NULL)
468
469cogl_source_c_priv =
470
471backend_source_h += $(cogl_source_h)
472backend_source_c += $(cogl_source_c)
473backend_source_h_priv += $(cogl_source_h_priv)
474backend_source_c_priv += $(cogl_source_c_priv)
475
476backend_source_h += $(glx_source_h)
477backend_source_c += $(glx_source_c)
478
479evdev_c_priv = \
480	evdev/clutter-device-manager-evdev.c	\
481	evdev/clutter-input-device-evdev.c	\
482	evdev/clutter-seat-evdev.c		\
483	evdev/clutter-virtual-input-device-evdev.c	\
484	evdev/clutter-event-evdev.c		\
485	evdev/clutter-input-device-tool-evdev.c	\
486	$(NULL)
487evdev_h_priv = \
488	evdev/clutter-device-manager-evdev.h	\
489	evdev/clutter-input-device-evdev.h	\
490	evdev/clutter-seat-evdev.h		\
491	evdev/clutter-input-device-tool-evdev.h	\
492	evdev/clutter-virtual-input-device-evdev.h	\
493	$(NULL)
494evdev_h = evdev/clutter-evdev.h
495
496if SUPPORT_WAYLAND
497backend_source_c_priv += $(evdev_c_priv)
498backend_source_h_priv += $(evdev_h_priv)
499backend_source_h += $(evdev_h)
500
501clutterevdev_includedir = $(clutter_includedir)/evdev
502clutterevdev_include_HEADERS = $(evdev_h)
503
504backend_source_c += evdev/clutter-xkb-utils.c
505backend_source_h_priv += evdev/clutter-xkb-utils.h
506
507# EGL backend rules
508egl_source_h = \
509	egl/clutter-egl-headers.h	\
510	egl/clutter-egl.h		\
511	$(NULL)
512
513egl_source_h_priv = egl/clutter-backend-eglnative.h
514egl_source_c = egl/clutter-backend-eglnative.c
515
516wayland_compositor_source_h = \
517	wayland/clutter-wayland-compositor.h		\
518	wayland/clutter-wayland-surface.h
519backend_source_h += $(wayland_compositor_source_h)
520backend_source_c += \
521	wayland/clutter-wayland-surface.c
522
523wayland_compositor_includedir = $(clutter_includedir)/wayland
524wayland_compositor_include_HEADERS = $(wayland_compositor_source_h)
525
526backend_source_h += $(egl_source_h)
527backend_source_c += $(egl_source_c)
528backend_source_h_priv += $(egl_source_h_priv)
529
530clutteregl_includedir = $(clutter_includedir)/egl
531clutteregl_include_HEADERS = $(egl_source_h)
532endif # SUPPORT_WAYLAND
533
534# cally
535cally_sources_h = \
536	cally/cally-actor.h		\
537	cally/cally-clone.h		\
538	cally/cally-factory.h		\
539	cally/cally-group.h		\
540	cally/cally.h			\
541	cally/cally-main.h		\
542	cally/cally-rectangle.h	\
543	cally/cally-root.h		\
544	cally/cally-stage.h		\
545	cally/cally-text.h		\
546	cally/cally-texture.h		\
547	cally/cally-util.h		\
548	$(NULL)
549
550cally_sources_c = \
551	cally/cally-actor.c		\
552	cally/cally.c			\
553	cally/cally-clone.c		\
554	cally/cally-group.c		\
555	cally/cally-rectangle.c	\
556	cally/cally-root.c		\
557	cally/cally-stage.c		\
558	cally/cally-text.c		\
559	cally/cally-texture.c		\
560	cally/cally-util.c		\
561	$(NULL)
562
563cally_sources_private = \
564	cally/cally-actor-private.h	\
565	$(NULL)
566
567cally_includedir = $(clutter_base_includedir)/cally
568cally_include_HEADERS = $(cally_sources_h)
569
570# general build rules:
571# you should not need to modify anything below this point
572
573# glib-genmarshal rules
574glib_marshal_list = clutter-marshal.list
575glib_marshal_prefix = _clutter_marshal
576include $(srcdir)/Makefile.am.marshal
577
578# glib-mkenums rules
579glib_enum_h = clutter-enum-types.h
580glib_enum_c = clutter-enum-types.c
581glib_enum_headers = $(source_h) $(deprecated_h)
582include $(srcdir)/Makefile.am.enums
583
584pkgconfigdir = $(prefix)/libdata/pkgconfig
585pkgconfig_DATA = $(pc_files)
586DISTCLEANFILES += $(pc_files)
587
588clutter_include_HEADERS = $(source_h) clutter.h clutter-version.h clutter-autocleanups.h clutter-muffin.h
589nodist_clutter_include_HEADERS = clutter-config.h $(built_source_h)
590
591clutter_deprecated_HEADERS = $(deprecated_h)
592
593muffinlibdir = $(libdir)/muffin
594muffinlib_LTLIBRARIES = libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la
595
596libmuffin_clutter_@MUFFIN_PLUGIN_API_VERSION@_la_LIBADD = \
597	$(LIBM) \
598	$(CLUTTER_LIBS) \
599	$(top_builddir)/../cogl/cogl/libmuffin-cogl-$(MUFFIN_PLUGIN_API_VERSION).la \
600	$(top_builddir)/../cogl/cogl-pango/libmuffin-cogl-pango-$(MUFFIN_PLUGIN_API_VERSION).la \
601	$(top_builddir)/../cogl/cogl-path/libmuffin-cogl-path-$(MUFFIN_PLUGIN_API_VERSION).la \
602	$(NULL)
603
604libmuffin_clutter_@MUFFIN_PLUGIN_API_VERSION@_la_SOURCES = \
605	$(backend_source_c) \
606	$(backend_source_h) \
607	$(backend_source_c_priv) \
608	$(backend_source_h_priv) \
609	$(source_c) \
610	$(source_h) \
611	$(source_c_priv) \
612	$(source_h_priv) \
613	$(deprecated_c) \
614	$(deprecated_h) \
615	$(deprecated_c_priv) \
616	$(deprecated_h_priv) \
617	$(cally_sources_c) \
618	$(cally_sources_h) \
619	$(cally_sources_private) \
620	$(NULL)
621
622nodist_libmuffin_clutter_@MUFFIN_PLUGIN_API_VERSION@_la_SOURCES = \
623	$(backend_source_built) \
624	$(built_source_c) \
625	$(built_source_h)
626
627libmuffin_clutter_@MUFFIN_PLUGIN_API_VERSION@_la_LDFLAGS = \
628	$(CLUTTER_LINK_FLAGS) \
629	$(CLUTTER_LT_LDFLAGS) \
630	-export-dynamic \
631	-rpath $(muffinlibdir) \
632	$(NULL)
633
634install-exec-local:
635	test -z "$(muffinlibdir)" || $(MKDIR_P) "$(DESTDIR)$(muffinlibdir)"
636	for lib in `echo $(compat_libs)`; do \
637	  (cd $(DESTDIR)$(muffinlibdir) && \
638	    rm -f $$lib.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION); \
639	  ) ; \
640	  (cd $(DESTDIR)$(muffinlibdir) && \
641	    { ln -s -f libmuffin-clutter-$(MUFFIN_PLUGIN_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib.0 || \
642	      { rm -f $$lib.0 && ln -s libmuffin-clutter-$(MUFFIN_PLUGIN_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib.0; }; \
643	    } \
644	  ) ; \
645	  (cd $(DESTDIR)$(muffinlibdir) && \
646	    { ln -s -f libmuffin-clutter-$(MUFFIN_PLUGIN_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib || \
647	      { rm -f $$lib && ln -s libmuffin-clutter-$(MUFFIN_PLUGIN_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib; }; \
648	    } \
649	  ) ; \
650	done
651
652if HAVE_INTROSPECTION
653# gobject-introspection rules
654-include $(INTROSPECTION_MAKEFILE)
655
656INTROSPECTION_SCANNER_ARGS = \
657	--add-include-path=$(top_builddir)/../cogl/cogl \
658	--add-include-path=$(top_builddir)/../cogl/cogl-pango
659INTROSPECTION_COMPILER_ARGS = \
660	--includedir=$(top_builddir)/../cogl/cogl \
661	--includedir=$(top_builddir)/../cogl/cogl-pango
662INTROSPECTION_SCANNER_ENV = \
663	PKG_CONFIG_PATH=$(top_builddir)/../cogl/cogl/:$(top_builddir)/../cogl/cogl-pango/:$${PKG_CONFIG_PATH}
664
665Clutter-@MUFFIN_PLUGIN_API_VERSION@.gir: libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la Makefile
666
667Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_NAMESPACE = Clutter
668Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_VERSION = @MUFFIN_PLUGIN_API_VERSION@
669Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_LIBS = libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la
670Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_FILES = \
671	$(clutter_include_HEADERS) \
672	$(clutter_deprecated_HEADERS) \
673	$(nodist_clutter_include_HEADERS) \
674	$(source_c) \
675	$(deprecated_c) \
676	$(built_source_c)
677Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
678Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_INCLUDES = GL-1.0 GObject-2.0 cairo-1.0 Cogl-@MUFFIN_PLUGIN_API_VERSION@ CoglPango-@MUFFIN_PLUGIN_API_VERSION@ Atk-1.0 Json-1.0
679Clutter_@MUFFIN_PLUGIN_API_VERSION@_gir_SCANNERFLAGS = \
680	--warn-all \
681	--c-include='clutter/clutter.h' \
682	--pkg-export=muffin-clutter-@MUFFIN_PLUGIN_API_VERSION@
683
684INTROSPECTION_GIRS += Clutter-@MUFFIN_PLUGIN_API_VERSION@.gir
685
686Cally-@MUFFIN_PLUGIN_API_VERSION@.gir: Makefile Clutter-@MUFFIN_PLUGIN_API_VERSION@.gir
687
688Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_NAMESPACE = Cally
689Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_VERSION = @MUFFIN_PLUGIN_API_VERSION@
690Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_LIBS = libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la
691Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_FILES = $(cally_sources_h) $(cally_sources_c)
692Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
693Cally_@MUFFIN_PLUGIN_API_VERSION@_gir_SCANNERFLAGS = \
694	--warn-all \
695	--c-include='cally/cally.h' \
696	--pkg-export=muffin-clutter-@MUFFIN_PLUGIN_API_VERSION@ \
697	--include-uninstalled=$(top_builddir)/clutter/Clutter-@MUFFIN_PLUGIN_API_VERSION@.gir
698
699INTROSPECTION_GIRS += Cally-@MUFFIN_PLUGIN_API_VERSION@.gir
700
701ClutterX11-@MUFFIN_PLUGIN_API_VERSION@.gir: Makefile Clutter-@MUFFIN_PLUGIN_API_VERSION@.gir
702
703ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_NAMESPACE = ClutterX11
704ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_INCLUDES = xlib-2.0
705ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_LIBS = libmuffin-clutter-@MUFFIN_PLUGIN_API_VERSION@.la
706ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_FILES = $(x11_introspection)
707ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
708ClutterX11_@MUFFIN_PLUGIN_API_VERSION@_gir_SCANNERFLAGS = \
709	--warn-all \
710	--c-include='clutter/x11/clutter-x11.h' \
711	--pkg-export=muffin-clutter-x11-@MUFFIN_PLUGIN_API_VERSION@ \
712	--include-uninstalled=$(top_builddir)/clutter/Clutter-@MUFFIN_PLUGIN_API_VERSION@.gir
713
714INTROSPECTION_GIRS += ClutterX11-@MUFFIN_PLUGIN_API_VERSION@.gir
715
716# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
717# install anything - we need to install inside our prefix.
718girdir = $(muffinlibdir)
719gir_DATA = $(INTROSPECTION_GIRS)
720
721typelibdir = $(muffinlibdir)
722typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
723
724CLEANFILES += $(gir_DATA) $(typelib_DATA)
725endif
726
727EXTRA_DIST += \
728	Makefile.am.marshal	\
729	Makefile.am.enums
730