Generate/build the fullscreen shell protocol files
[platform/upstream/weston.git] / Makefile.am
1 bin_PROGRAMS =
2 noinst_PROGRAMS =
3 libexec_PROGRAMS =
4 moduledir = $(libdir)/weston
5 module_LTLIBRARIES =
6 noinst_LTLIBRARIES =
7 BUILT_SOURCES =
8
9 DISTCHECK_CONFIGURE_FLAGS = --disable-setuid-install
10
11 EXTRA_DIST = weston.ini.in
12
13 weston.ini : $(srcdir)/weston.ini.in
14         $(AM_V_GEN)$(SED) \
15                 -e 's|@bindir[@]|$(bindir)|g' \
16                 -e 's|@abs_top_builddir[@]|$(abs_top_builddir)|g' \
17                 -e 's|@libexecdir[@]|$(libexecdir)|g' \
18                 $< > $@
19
20 all-local : weston.ini
21
22 AM_CFLAGS = $(GCC_CFLAGS)
23
24 AM_CPPFLAGS =                                   \
25         -I$(top_srcdir)/src                     \
26         -I$(top_builddir)/src                   \
27         -I$(top_builddir)/clients               \
28         -I$(top_builddir)/tests                 \
29         -I$(top_srcdir)/shared                  \
30         -I$(top_builddir)/protocol              \
31         -DDATADIR='"$(datadir)"'                \
32         -DMODULEDIR='"$(moduledir)"'            \
33         -DLIBEXECDIR='"$(libexecdir)"'          \
34         -DBINDIR='"$(bindir)"'
35
36 CLEANFILES = weston.ini $(BUILT_SOURCES)
37
38 bin_PROGRAMS += weston
39
40 weston_LDFLAGS = -export-dynamic
41 weston_CPPFLAGS = $(AM_CPPFLAGS) -DIN_WESTON
42 weston_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS) $(LIBUNWIND_CFLAGS)
43 weston_LDADD = $(COMPOSITOR_LIBS) $(LIBUNWIND_LIBS) \
44         $(DLOPEN_LIBS) -lm libshared.la
45
46 weston_SOURCES =                                        \
47         src/git-version.h                               \
48         src/log.c                                       \
49         src/compositor.c                                \
50         src/compositor.h                                \
51         src/input.c                                     \
52         src/data-device.c                               \
53         src/screenshooter.c                             \
54         src/clipboard.c                                 \
55         src/zoom.c                                      \
56         src/text-backend.c                              \
57         src/bindings.c                                  \
58         src/animation.c                                 \
59         src/noop-renderer.c                             \
60         src/pixman-renderer.c                           \
61         src/pixman-renderer.h                           \
62         shared/matrix.c                                 \
63         shared/matrix.h                                 \
64         shared/zalloc.h                                 \
65         src/weston-egl-ext.h
66
67 nodist_weston_SOURCES =                                 \
68         protocol/screenshooter-protocol.c               \
69         protocol/screenshooter-server-protocol.h        \
70         protocol/text-cursor-position-protocol.c        \
71         protocol/text-cursor-position-server-protocol.h \
72         protocol/text-protocol.c                        \
73         protocol/text-server-protocol.h                 \
74         protocol/input-method-protocol.c                \
75         protocol/input-method-server-protocol.h         \
76         protocol/workspaces-protocol.c                  \
77         protocol/workspaces-server-protocol.h           \
78         protocol/scaler-protocol.c                      \
79         protocol/scaler-server-protocol.h
80
81 BUILT_SOURCES += $(nodist_weston_SOURCES)
82
83 # Track this dependency explicitly instead of using BUILT_SOURCES.  We
84 # add BUILT_SOURCES to CLEANFILES, but we want to keep git-version.h
85 # in case we're building from tarballs.
86
87 src/compositor.c : $(top_builddir)/src/git-version.h
88
89 noinst_LTLIBRARIES +=                           \
90         libsession-helper.la
91
92 libsession_helper_la_SOURCES =                  \
93         src/weston-launch.h                     \
94         src/launcher-util.c                     \
95         src/launcher-util.h
96 libsession_helper_la_CFLAGS = $(GCC_CFLAGS) $(LIBDRM_CFLAGS) $(PIXMAN_CFLAGS) $(COMPOSITOR_CFLAGS)
97 libsession_helper_la_LIBADD = $(LIBDRM_LIBS)
98
99 if ENABLE_DBUS
100 if HAVE_SYSTEMD_LOGIN
101 libsession_helper_la_SOURCES +=                 \
102         src/dbus.h                              \
103         src/dbus.c                              \
104         src/logind-util.h                       \
105         src/logind-util.c
106 libsession_helper_la_CFLAGS += $(SYSTEMD_LOGIN_CFLAGS) $(DBUS_CFLAGS)
107 libsession_helper_la_LIBADD += $(SYSTEMD_LOGIN_LIBS) $(DBUS_LIBS)
108 endif
109 endif
110
111 if HAVE_GIT_REPO
112 src/git-version.h : $(top_srcdir)/.git/logs/HEAD
113         $(AM_V_GEN)echo "#define BUILD_ID \"$(shell git --git-dir=$(top_srcdir)/.git describe --always --dirty) $(shell git --git-dir=$(top_srcdir)/.git log -1 --format='%s (%ci)')\"" > $@
114 else
115 src/git-version.h :
116         $(AM_V_GEN)echo "#define BUILD_ID \"unknown (not built from git or tarball)\"" > $@
117
118 endif
119
120 .FORCE :
121
122 if BUILD_WESTON_LAUNCH
123 bin_PROGRAMS += weston-launch
124 weston_launch_SOURCES = src/weston-launch.c src/weston-launch.h
125 weston_launch_CPPFLAGS = -DBINDIR='"$(bindir)"'
126 weston_launch_CFLAGS=                           \
127         $(GCC_CFLAGS)                           \
128         $(PAM_CFLAGS)                           \
129         $(SYSTEMD_LOGIN_CFLAGS)                 \
130         $(LIBDRM_CFLAGS)
131 weston_launch_LDADD = $(PAM_LIBS) $(SYSTEMD_LOGIN_LIBS) $(LIBDRM_LIBS)
132
133 if ENABLE_SETUID_INSTALL
134 install-exec-hook:
135         chown root $(DESTDIR)$(bindir)/weston-launch
136         chmod u+s $(DESTDIR)$(bindir)/weston-launch
137 endif
138
139 endif # BUILD_WESTON_LAUNCH
140
141 pkgconfigdir = $(libdir)/pkgconfig
142 pkgconfig_DATA = src/weston.pc
143
144 westonincludedir = $(includedir)/weston
145 westoninclude_HEADERS =                         \
146         src/version.h                           \
147         src/compositor.h                        \
148         shared/matrix.h                         \
149         shared/config-parser.h                  \
150         shared/zalloc.h
151
152 if ENABLE_EGL
153 module_LTLIBRARIES += gl-renderer.la
154 gl_renderer_la_LDFLAGS = -module -avoid-version
155 gl_renderer_la_LIBADD = $(COMPOSITOR_LIBS) $(EGL_LIBS)
156 gl_renderer_la_CFLAGS =                         \
157         $(COMPOSITOR_CFLAGS)                    \
158         $(EGL_CFLAGS)                           \
159         $(GCC_CFLAGS)
160 gl_renderer_la_SOURCES =                        \
161         src/gl-renderer.h                       \
162         src/gl-renderer.c                       \
163         src/vertex-clipping.c                   \
164         src/vertex-clipping.h
165 endif
166
167 if ENABLE_X11_COMPOSITOR
168 module_LTLIBRARIES += x11-backend.la
169 x11_backend_la_LDFLAGS = -module -avoid-version
170 x11_backend_la_LIBADD = $(COMPOSITOR_LIBS) $(X11_COMPOSITOR_LIBS) \
171         libshared-cairo.la
172 x11_backend_la_CFLAGS =                         \
173         $(COMPOSITOR_CFLAGS)                    \
174         $(EGL_CFLAGS)                           \
175         $(PIXMAN_CFLAGS)                        \
176         $(CAIRO_CFLAGS)                         \
177         $(X11_COMPOSITOR_CFLAGS)                \
178         $(GCC_CFLAGS)
179 x11_backend_la_SOURCES = src/compositor-x11.c
180 endif
181
182 INPUT_BACKEND_SOURCES = src/udev-input.h
183
184 if ENABLE_LIBINPUT_BACKEND
185 INPUT_BACKEND_LIBS = $(LIBINPUT_BACKEND_LIBS)
186 INPUT_BACKEND_SOURCES +=                        \
187         src/libinput-seat.c                     \
188         src/libinput-seat.h                     \
189         src/libinput-device.c                   \
190         src/libinput-device.h
191 else
192 INPUT_BACKEND_SOURCES +=                        \
193         src/filter.c                            \
194         src/filter.h                            \
195         src/udev-seat.c                         \
196         src/udev-seat.h                         \
197         src/evdev.c                             \
198         src/evdev.h                             \
199         src/evdev-touchpad.c
200 endif
201
202 if ENABLE_DRM_COMPOSITOR
203 module_LTLIBRARIES += drm-backend.la
204 drm_backend_la_LDFLAGS = -module -avoid-version
205 drm_backend_la_LIBADD =                         \
206         $(COMPOSITOR_LIBS)                      \
207         $(DRM_COMPOSITOR_LIBS)                  \
208         $(INPUT_BACKEND_LIBS)                   \
209         libshared.la -lrt                       \
210         libsession-helper.la
211 drm_backend_la_CFLAGS =                         \
212         $(COMPOSITOR_CFLAGS)                    \
213         $(EGL_CFLAGS)                           \
214         $(DRM_COMPOSITOR_CFLAGS)                \
215         $(GCC_CFLAGS)
216 drm_backend_la_SOURCES =                        \
217         src/compositor-drm.c                    \
218         $(INPUT_BACKEND_SOURCES)                \
219         src/libbacklight.c                      \
220         src/libbacklight.h
221
222 if ENABLE_VAAPI_RECORDER
223 drm_backend_la_SOURCES += src/vaapi-recorder.c src/vaapi-recorder.h
224 drm_backend_la_LIBADD += $(LIBVA_LIBS)
225 drm_backend_la_CFLAGS += $(LIBVA_CFLAGS)
226 endif
227 endif
228
229 if ENABLE_WAYLAND_COMPOSITOR
230 module_LTLIBRARIES += wayland-backend.la
231 wayland_backend_la_LDFLAGS = -module -avoid-version
232 wayland_backend_la_LIBADD =                     \
233         $(COMPOSITOR_LIBS)                      \
234         $(WAYLAND_COMPOSITOR_LIBS)              \
235         libshared-cairo.la
236 wayland_backend_la_CFLAGS =                     \
237         $(COMPOSITOR_CFLAGS)                    \
238         $(EGL_CFLAGS)                           \
239         $(PIXMAN_CFLAGS)                        \
240         $(CAIRO_CFLAGS)                         \
241         $(WAYLAND_COMPOSITOR_CFLAGS)            \
242         $(GCC_CFLAGS)
243 wayland_backend_la_SOURCES = src/compositor-wayland.c
244 endif
245
246 if ENABLE_RPI_COMPOSITOR
247 if INSTALL_RPI_COMPOSITOR
248 module_LTLIBRARIES += rpi-backend.la
249 else
250 noinst_LTLIBRARIES += rpi-backend.la
251 endif
252
253 rpi_backend_la_LDFLAGS = -module -avoid-version
254 rpi_backend_la_LIBADD = $(COMPOSITOR_LIBS)      \
255         $(RPI_COMPOSITOR_LIBS)                  \
256         $(RPI_BCM_HOST_LIBS)                    \
257         $(INPUT_BACKEND_LIBS)                   \
258         libsession-helper.la                    \
259         libshared.la
260 rpi_backend_la_CFLAGS =                         \
261         $(GCC_CFLAGS)                           \
262         $(COMPOSITOR_CFLAGS)                    \
263         $(RPI_COMPOSITOR_CFLAGS)                \
264         $(RPI_BCM_HOST_CFLAGS)
265 rpi_backend_la_SOURCES =                        \
266         src/compositor-rpi.c                    \
267         src/rpi-renderer.c                      \
268         src/rpi-renderer.h                      \
269         src/rpi-bcm-stubs.h                     \
270         $(INPUT_BACKEND_SOURCES)
271
272 if ENABLE_EGL
273 rpi_backend_la_LIBADD += $(EGL_LIBS)
274 rpi_backend_la_CFLAGS += $(EGL_CFLAGS)
275 endif
276
277 endif
278
279 if ENABLE_HEADLESS_COMPOSITOR
280 module_LTLIBRARIES += headless-backend.la
281 headless_backend_la_LDFLAGS = -module -avoid-version
282 headless_backend_la_LIBADD = $(COMPOSITOR_LIBS) libshared.la
283 headless_backend_la_CFLAGS = $(COMPOSITOR_CFLAGS) $(GCC_CFLAGS)
284 headless_backend_la_SOURCES = src/compositor-headless.c
285 endif
286
287 if ENABLE_FBDEV_COMPOSITOR
288 module_LTLIBRARIES += fbdev-backend.la
289 fbdev_backend_la_LDFLAGS = -module -avoid-version
290 fbdev_backend_la_LIBADD =                       \
291         $(COMPOSITOR_LIBS)                      \
292         $(FBDEV_COMPOSITOR_LIBS)                \
293         $(INPUT_BACKEND_LIBS)                   \
294         libsession-helper.la                    \
295         libshared.la
296 fbdev_backend_la_CFLAGS =                       \
297         $(COMPOSITOR_CFLAGS)                    \
298         $(EGL_CFLAGS)                           \
299         $(FBDEV_COMPOSITOR_CFLAGS)              \
300         $(PIXMAN_CFLAGS)                        \
301         $(GCC_CFLAGS)
302 fbdev_backend_la_SOURCES =                      \
303         src/compositor-fbdev.c                  \
304         $(INPUT_BACKEND_SOURCES)
305 endif
306
307 if ENABLE_RDP_COMPOSITOR
308 module_LTLIBRARIES += rdp-backend.la
309 rdp_backend_la_LDFLAGS = -module -avoid-version
310 rdp_backend_la_LIBADD = $(COMPOSITOR_LIBS) \
311         $(RDP_COMPOSITOR_LIBS) \
312         libshared.la
313 rdp_backend_la_CFLAGS =                         \
314         $(COMPOSITOR_CFLAGS)                    \
315         $(RDP_COMPOSITOR_CFLAGS)                \
316         $(GCC_CFLAGS)
317 rdp_backend_la_SOURCES = src/compositor-rdp.c
318 endif
319
320 if HAVE_LCMS
321 module_LTLIBRARIES += cms-static.la
322 cms_static_la_LDFLAGS = -module -avoid-version
323 cms_static_la_LIBADD = $(COMPOSITOR_LIBS) $(LCMS_LIBS) libshared.la
324 cms_static_la_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS) $(LCMS_CFLAGS)
325 cms_static_la_SOURCES =                         \
326         src/cms-static.c                                \
327         src/cms-helper.c                                \
328         src/cms-helper.h
329 if ENABLE_COLORD
330 module_LTLIBRARIES += cms-colord.la
331 cms_colord_la_LDFLAGS = -module -avoid-version
332 cms_colord_la_LIBADD = $(COMPOSITOR_LIBS) $(COLORD_LIBS)
333 cms_colord_la_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS) $(COLORD_CFLAGS)
334 cms_colord_la_SOURCES =                         \
335         src/cms-colord.c                        \
336         src/cms-helper.c                        \
337         src/cms-helper.h
338 endif
339 endif
340
341 noinst_PROGRAMS += spring-tool
342 spring_tool_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
343 spring_tool_LDADD = $(COMPOSITOR_LIBS) -lm
344 spring_tool_SOURCES =                           \
345         src/spring-tool.c                       \
346         src/animation.c                         \
347         shared/matrix.c                         \
348         shared/matrix.h                         \
349         src/compositor.h
350
351 if BUILD_CLIENTS
352
353 bin_PROGRAMS += weston-terminal weston-info
354
355 libexec_PROGRAMS +=                             \
356         weston-desktop-shell                    \
357         weston-screenshooter                    \
358         weston-keyboard                         \
359         weston-simple-im
360
361 demo_clients =                                  \
362         weston-flower                           \
363         weston-image                            \
364         weston-cliptest                         \
365         weston-dnd                              \
366         weston-smoke                            \
367         weston-resizor                          \
368         weston-eventdemo                        \
369         weston-clickdot                         \
370         weston-transformed                      \
371         weston-fullscreen                       \
372         weston-stacking                         \
373         weston-calibrator                       \
374         weston-scaler
375
376 if INSTALL_DEMO_CLIENTS
377 bin_PROGRAMS += $(demo_clients)
378 else
379 noinst_PROGRAMS += $(demo_clients)
380 endif
381
382
383 if BUILD_SIMPLE_CLIENTS
384 demo_clients +=                                 \
385         weston-simple-shm                       \
386         weston-simple-touch                     \
387         weston-multi-resource
388
389 weston_simple_shm_SOURCES = clients/simple-shm.c
390 nodist_weston_simple_shm_SOURCES =              \
391         protocol/xdg-shell-protocol.c           \
392         protocol/xdg-shell-client-protocol.h
393 weston_simple_shm_CFLAGS = $(AM_CFLAGS) $(SIMPLE_CLIENT_CFLAGS)
394 weston_simple_shm_LDADD = $(SIMPLE_CLIENT_LIBS) libshared.la
395
396 weston_simple_touch_SOURCES = clients/simple-touch.c
397 weston_simple_touch_CFLAGS = $(AM_CFLAGS) $(SIMPLE_CLIENT_CFLAGS)
398 weston_simple_touch_LDADD = $(SIMPLE_CLIENT_LIBS) libshared.la
399
400 weston_multi_resource_SOURCES = clients/multi-resource.c
401 weston_multi_resource_CFLAGS = $(AM_CFLAGS) $(SIMPLE_CLIENT_CFLAGS)
402 weston_multi_resource_LDADD = $(SIMPLE_CLIENT_LIBS) libshared.la -lm
403 endif
404
405 if BUILD_SIMPLE_EGL_CLIENTS
406 demo_clients += weston-simple-egl
407 weston_simple_egl_SOURCES = clients/simple-egl.c
408 nodist_weston_simple_egl_SOURCES =              \
409         protocol/xdg-shell-protocol.c           \
410         protocol/xdg-shell-client-protocol.h
411 weston_simple_egl_CFLAGS = $(AM_CFLAGS) $(SIMPLE_EGL_CLIENT_CFLAGS)
412 weston_simple_egl_LDADD = $(SIMPLE_EGL_CLIENT_LIBS) -lm
413 endif
414
415 noinst_LTLIBRARIES += libtoytoolkit.la
416
417 libtoytoolkit_la_SOURCES =                              \
418         clients/window.c                                \
419         clients/window.h
420
421 nodist_libtoytoolkit_la_SOURCES =                       \
422         protocol/text-cursor-position-protocol.c        \
423         protocol/text-cursor-position-client-protocol.h \
424         protocol/scaler-protocol.c                      \
425         protocol/scaler-client-protocol.h               \
426         protocol/workspaces-protocol.c                  \
427         protocol/workspaces-client-protocol.h           \
428         protocol/xdg-shell-protocol.c                   \
429         protocol/xdg-shell-client-protocol.h
430
431 BUILT_SOURCES += $(nodist_libtoytoolkit_la_SOURCES)
432
433
434 libtoytoolkit_la_LIBADD =                       \
435         $(CLIENT_LIBS)                          \
436         $(CAIRO_EGL_LIBS)                       \
437         libshared-cairo.la -lrt -lm
438 libtoytoolkit_la_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS) $(CAIRO_EGL_CFLAGS)
439
440 weston_flower_SOURCES = clients/flower.c
441 weston_flower_LDADD = libtoytoolkit.la
442 weston_flower_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
443
444 weston_screenshooter_SOURCES =                          \
445         clients/screenshot.c
446 nodist_weston_screenshooter_SOURCES =                   \
447         protocol/screenshooter-protocol.c               \
448         protocol/screenshooter-client-protocol.h
449 weston_screenshooter_LDADD = $(CLIENT_LIBS) libshared.la
450 weston_screenshooter_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
451
452 weston_terminal_SOURCES = clients/terminal.c
453 weston_terminal_LDADD = libtoytoolkit.la -lutil
454 weston_terminal_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
455
456 weston_image_SOURCES = clients/image.c
457 weston_image_LDADD = libtoytoolkit.la
458 weston_image_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
459
460 weston_cliptest_SOURCES = clients/cliptest.c
461 weston_cliptest_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
462 weston_cliptest_LDADD = libtoytoolkit.la
463
464 weston_dnd_SOURCES = clients/dnd.c
465 weston_dnd_LDADD = libtoytoolkit.la
466 weston_dnd_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
467
468 weston_smoke_SOURCES = clients/smoke.c
469 weston_smoke_LDADD = libtoytoolkit.la
470 weston_smoke_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
471
472 weston_resizor_SOURCES = clients/resizor.c
473 weston_resizor_LDADD = libtoytoolkit.la
474 weston_resizor_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
475
476 weston_scaler_SOURCES = clients/scaler.c
477 weston_scaler_LDADD = libtoytoolkit.la
478 weston_scaler_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
479
480 if HAVE_CAIRO_GLESV2
481 demo_clients += weston-nested weston-nested-client
482
483 weston_nested_SOURCES = clients/nested.c
484 weston_nested_LDADD = libtoytoolkit.la $(SERVER_LIBS)
485 weston_nested_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
486
487 weston_nested_client_SOURCES = clients/nested-client.c
488 weston_nested_client_LDADD = $(SIMPLE_EGL_CLIENT_LIBS) -lm
489 weston_nested_client_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
490 endif
491
492 weston_eventdemo_SOURCES = clients/eventdemo.c
493 weston_eventdemo_LDADD = libtoytoolkit.la
494 weston_eventdemo_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
495
496 weston_clickdot_SOURCES = clients/clickdot.c
497 weston_clickdot_LDADD = libtoytoolkit.la
498 weston_clickdot_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
499
500 weston_transformed_SOURCES = clients/transformed.c
501 weston_transformed_LDADD = libtoytoolkit.la
502 weston_transformed_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
503
504 weston_fullscreen_SOURCES = clients/fullscreen.c
505 weston_fullscreen_LDADD = libtoytoolkit.la
506 weston_fullscreen_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
507
508 weston_stacking_SOURCES = clients/stacking.c
509 weston_stacking_LDADD = libtoytoolkit.la
510 weston_stacking_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
511
512 weston_calibrator_SOURCES = clients/calibrator.c        \
513         shared/matrix.c                                 \
514         shared/matrix.h
515 weston_calibrator_LDADD = libtoytoolkit.la
516 weston_calibrator_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
517
518 if BUILD_SUBSURFACES_CLIENT
519 demo_clients += weston-subsurfaces
520 weston_subsurfaces_SOURCES = clients/subsurfaces.c
521 weston_subsurfaces_CFLAGS =                     \
522         $(AM_CFLAGS)                            \
523         $(SIMPLE_EGL_CLIENT_CFLAGS)             \
524         $(CLIENT_CFLAGS)
525 weston_subsurfaces_LDADD = libtoytoolkit.la $(SIMPLE_EGL_CLIENT_LIBS) -lm
526 endif
527
528 if HAVE_PANGO
529 demo_clients += weston-editor
530 weston_editor_SOURCES = clients/editor.c
531 nodist_weston_editor_SOURCES =                  \
532         protocol/text-protocol.c                \
533         protocol/text-client-protocol.h
534 weston_editor_LDADD = libtoytoolkit.la $(PANGO_LIBS)
535 weston_editor_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS) $(PANGO_CFLAGS)
536 endif
537
538 weston_keyboard_SOURCES = clients/keyboard.c
539 nodist_weston_keyboard_SOURCES =                        \
540         protocol/desktop-shell-client-protocol.h        \
541         protocol/desktop-shell-protocol.c               \
542         protocol/input-method-protocol.c                \
543         protocol/input-method-client-protocol.h
544 weston_keyboard_LDADD = libtoytoolkit.la
545 weston_keyboard_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
546
547 weston_simple_im_SOURCES = clients/weston-simple-im.c
548 nodist_weston_simple_im_SOURCES =               \
549         protocol/input-method-protocol.c        \
550         protocol/input-method-client-protocol.h
551 weston_simple_im_LDADD = $(CLIENT_LIBS)
552 weston_simple_im_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
553
554 weston_info_SOURCES = clients/weston-info.c
555 weston_info_LDADD = $(WESTON_INFO_LIBS) libshared.la
556 weston_info_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
557
558 weston_desktop_shell_SOURCES = clients/desktop-shell.c
559 nodist_weston_desktop_shell_SOURCES =                   \
560         protocol/desktop-shell-client-protocol.h        \
561         protocol/desktop-shell-protocol.c
562 weston_desktop_shell_LDADD = libtoytoolkit.la
563 weston_desktop_shell_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
564
565 if BUILD_FULL_GL_CLIENTS
566 demo_clients += weston-gears
567 weston_gears_SOURCES = clients/gears.c
568 weston_gears_LDADD = libtoytoolkit.la
569 weston_gears_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
570
571 if HAVE_GLU
572 libexec_PROGRAMS += weston-screensaver
573 weston_screensaver_SOURCES =                            \
574         clients/wscreensaver.c                          \
575         clients/wscreensaver.h                          \
576         clients/wscreensaver-glue.c                     \
577         clients/wscreensaver-glue.h                     \
578         clients/glmatrix.c                              \
579         clients/matrix3.xpm
580 nodist_weston_screensaver_SOURCES =                     \
581         protocol/desktop-shell-client-protocol.h        \
582         protocol/desktop-shell-protocol.c
583
584 weston_screensaver_LDADD = libtoytoolkit.la $(GLU_LIBS)
585 weston_screensaver_CFLAGS = $(AM_CFLAGS) $(GLU_CFLAGS) $(CLIENT_CFLAGS)
586
587 endif
588
589 endif
590
591 endif
592
593 BUILT_SOURCES +=                                        \
594         protocol/screenshooter-protocol.c               \
595         protocol/screenshooter-client-protocol.h        \
596         protocol/text-cursor-position-client-protocol.h \
597         protocol/text-cursor-position-protocol.c        \
598         protocol/text-protocol.c                        \
599         protocol/text-client-protocol.h                 \
600         protocol/input-method-protocol.c                \
601         protocol/input-method-client-protocol.h         \
602         protocol/desktop-shell-client-protocol.h        \
603         protocol/desktop-shell-protocol.c               \
604         protocol/scaler-client-protocol.h               \
605         protocol/scaler-protocol.c                      \
606         protocol/workspaces-client-protocol.h           \
607         protocol/workspaces-protocol.c                  \
608         protocol/xdg-shell-protocol.c                   \
609         protocol/xdg-shell-client-protocol.h
610
611
612 westondatadir = $(datadir)/weston
613 dist_westondata_DATA =                          \
614         data/wayland.svg                        \
615         data/wayland.png                        \
616         data/pattern.png                        \
617         data/terminal.png                       \
618         data/border.png                         \
619         data/icon_window.png                    \
620         data/sign_close.png                     \
621         data/sign_maximize.png                  \
622         data/sign_minimize.png
623
624
625 if BUILD_WCAP_TOOLS
626 bin_PROGRAMS += wcap-decode
627
628 wcap_decode_SOURCES =                           \
629         wcap/main.c                             \
630         wcap/wcap-decode.c                      \
631         wcap/wcap-decode.h
632
633 wcap_decode_CFLAGS = $(GCC_CFLAGS) $(WCAP_CFLAGS)
634 wcap_decode_LDADD = $(WCAP_LIBS)
635 endif
636
637
638 if ENABLE_DESKTOP_SHELL
639
640 module_LTLIBRARIES += desktop-shell.la
641
642 desktop_shell_la_CPPFLAGS =                     \
643         -I$(top_builddir)/protocol              \
644         -I$(top_srcdir)/shared                  \
645         -I$(top_srcdir)/src                     \
646         -I$(top_builddir)/src                   \
647         -I$(top_builddir)/desktop-shell         \
648         -DDATADIR='"$(datadir)"'                \
649         -DMODULEDIR='"$(moduledir)"'            \
650         -DLIBEXECDIR='"$(libexecdir)"'          \
651         -DIN_WESTON
652
653 desktop_shell_la_LDFLAGS = -module -avoid-version
654 desktop_shell_la_LIBADD = $(COMPOSITOR_LIBS) libshared.la
655 desktop_shell_la_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
656 desktop_shell_la_SOURCES =                              \
657         desktop-shell/shell.h                           \
658         desktop-shell/shell.c                           \
659         desktop-shell/exposay.c                         \
660         desktop-shell/input-panel.c
661 nodist_desktop_shell_la_SOURCES =                       \
662         protocol/desktop-shell-protocol.c               \
663         protocol/desktop-shell-server-protocol.h        \
664         protocol/xdg-shell-protocol.c                   \
665         protocol/xdg-shell-server-protocol.h
666
667 BUILT_SOURCES += $(nodist_desktop_shell_la_SOURCES)
668 endif
669
670
671 if ENABLE_XWAYLAND
672
673 module_LTLIBRARIES += xwayland.la
674
675 xwayland_la_CPPFLAGS =                          \
676         -I$(top_builddir)/protocol              \
677         -I$(top_srcdir)/shared                  \
678         -I$(top_srcdir)/src                     \
679         -I$(top_builddir)/src                   \
680         -I$(top_builddir)/xwayland              \
681         -DDATADIR='"$(datadir)"'                \
682         -DMODULEDIR='"$(moduledir)"'            \
683         -DLIBEXECDIR='"$(libexecdir)"'          \
684         -DXSERVER_PATH='"@XSERVER_PATH@"'
685
686 xwayland_la_LDFLAGS = -module -avoid-version
687 xwayland_la_LIBADD =                    \
688         $(XWAYLAND_LIBS)                \
689         $(top_builddir)/libshared-cairo.la
690 xwayland_la_CFLAGS =                            \
691         $(GCC_CFLAGS)                           \
692         $(COMPOSITOR_CFLAGS)                    \
693         $(PIXMAN_CFLAGS)                        \
694         $(CAIRO_CFLAGS)
695 xwayland_la_SOURCES =                           \
696         xwayland/xwayland.h                     \
697         xwayland/window-manager.c               \
698         xwayland/selection.c                    \
699         xwayland/dnd.c                          \
700         xwayland/launcher.c                     \
701         xwayland/hash.c                         \
702         xwayland/hash.h
703 nodist_xwayland_la_SOURCES =                    \
704         protocol/xserver-protocol.c             \
705         protocol/xserver-server-protocol.h
706
707 BUILT_SOURCES += $(nodist_xwayland_la_SOURCES)
708 endif
709
710
711 #
712 # Shared utilities
713 #
714
715 noinst_LTLIBRARIES += libshared.la libshared-cairo.la
716
717 libshared_la_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
718
719 libshared_la_SOURCES =                          \
720         shared/config-parser.c                  \
721         shared/option-parser.c                  \
722         shared/config-parser.h                  \
723         shared/os-compatibility.c               \
724         shared/os-compatibility.h
725
726 libshared_cairo_la_CFLAGS =                     \
727         -DDATADIR='"$(datadir)"'                \
728         $(GCC_CFLAGS)                           \
729         $(COMPOSITOR_CFLAGS)                    \
730         $(PIXMAN_CFLAGS)                        \
731         $(CAIRO_CFLAGS)                         \
732         $(PNG_CFLAGS)                           \
733         $(WEBP_CFLAGS)
734
735 libshared_cairo_la_LIBADD =                     \
736         $(PIXMAN_LIBS)                          \
737         $(CAIRO_LIBS)                           \
738         $(PNG_LIBS)                             \
739         $(WEBP_LIBS)                            \
740         $(JPEG_LIBS)
741
742 libshared_cairo_la_SOURCES =                    \
743         $(libshared_la_SOURCES)                 \
744         shared/image-loader.c                   \
745         shared/image-loader.h                   \
746         shared/cairo-util.c                     \
747         shared/frame.c                          \
748         shared/cairo-util.h
749
750
751 #
752 # tests subdirectory
753 #
754
755 TESTS = $(shared_tests) $(module_tests) $(weston_tests)
756
757 shared_tests =                                  \
758         config-parser.test                      \
759         vertex-clip.test
760
761 module_tests =                                  \
762         surface-test.la                         \
763         surface-global-test.la
764
765 weston_tests =                                  \
766         bad_buffer.weston                       \
767         keyboard.weston                         \
768         event.weston                            \
769         button.weston                           \
770         text.weston                             \
771         subsurface.weston
772
773
774 AM_TESTS_ENVIRONMENT = \
775         abs_builddir='$(abs_builddir)'; export abs_builddir;
776
777 TEST_EXTENSIONS = .la .weston
778 LA_LOG_COMPILER = $(srcdir)/tests/weston-tests-env
779 WESTON_LOG_COMPILER = $(srcdir)/tests/weston-tests-env
780
781 clean-local:
782         -rm -rf tests/logs
783
784 # To remove when automake 1.11 support is dropped
785 export abs_builddir
786
787 noinst_LTLIBRARIES +=                   \
788         weston-test.la                  \
789         $(module_tests)                 \
790         libtest-runner.la               \
791         libtest-client.la
792
793 noinst_PROGRAMS +=                      \
794         $(setbacklight)                 \
795         $(shared_tests)                 \
796         $(weston_tests)                 \
797         matrix-test
798
799 test_module_ldflags = \
800         -module -avoid-version -rpath $(libdir) $(COMPOSITOR_LIBS)
801
802 surface_global_test_la_SOURCES = tests/surface-global-test.c
803 surface_global_test_la_LDFLAGS = $(test_module_ldflags)
804 surface_global_test_la_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
805
806 surface_test_la_SOURCES = tests/surface-test.c
807 surface_test_la_LDFLAGS = $(test_module_ldflags)
808 surface_test_la_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
809
810 weston_test_la_LIBADD = $(COMPOSITOR_LIBS) libshared.la
811 weston_test_la_LDFLAGS = $(test_module_ldflags)
812 weston_test_la_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
813 weston_test_la_SOURCES = tests/weston-test.c
814 nodist_weston_test_la_SOURCES =                 \
815         protocol/wayland-test-protocol.c        \
816         protocol/wayland-test-server-protocol.h
817
818 if ENABLE_EGL
819 weston_test_la_CFLAGS += $(EGL_TESTS_CFLAGS)
820 weston_test_la_LDFLAGS += $(EGL_TESTS_LIBS)
821 endif
822
823 libtest_runner_la_SOURCES =                     \
824         tests/weston-test-runner.c              \
825         tests/weston-test-runner.h
826 libtest_runner_la_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
827
828 config_parser_test_SOURCES = tests/config-parser-test.c
829 config_parser_test_LDADD = libshared.la libtest-runner.la $(COMPOSITOR_LIBS)
830
831 vertex_clip_test_SOURCES =                      \
832         tests/vertex-clip-test.c                \
833         src/vertex-clipping.c                   \
834         src/vertex-clipping.h
835 vertex_clip_test_LDADD = libtest-runner.la -lm -lrt
836
837 libtest_client_la_SOURCES =                     \
838         tests/weston-test-client-helper.c       \
839         tests/weston-test-client-helper.h
840 nodist_libtest_client_la_SOURCES =              \
841         protocol/wayland-test-protocol.c        \
842         protocol/wayland-test-client-protocol.h
843 libtest_client_la_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
844 libtest_client_la_LIBADD = $(TEST_CLIENT_LIBS) libshared.la libtest-runner.la
845
846 bad_buffer_weston_SOURCES = tests/bad-buffer-test.c
847 bad_buffer_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
848 bad_buffer_weston_LDADD = libtest-client.la
849
850 keyboard_weston_SOURCES = tests/keyboard-test.c
851 keyboard_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
852 keyboard_weston_LDADD = libtest-client.la
853
854 event_weston_SOURCES = tests/event-test.c
855 event_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
856 event_weston_LDADD = libtest-client.la
857
858 button_weston_SOURCES = tests/button-test.c
859 button_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
860 button_weston_LDADD = libtest-client.la
861
862 text_weston_SOURCES = tests/text-test.c
863 nodist_text_weston_SOURCES =                    \
864         protocol/text-protocol.c                \
865         protocol/text-client-protocol.h
866 text_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
867 text_weston_LDADD = libtest-client.la
868
869 subsurface_weston_SOURCES = tests/subsurface-test.c
870 subsurface_weston_CFLAGS = $(AM_CFLAGS) $(TEST_CLIENT_CFLAGS)
871 subsurface_weston_LDADD = libtest-client.la
872
873 if ENABLE_EGL
874 weston_tests += buffer-count.weston
875 buffer_count_weston_SOURCES = tests/buffer-count-test.c
876 buffer_count_weston_CFLAGS = $(GCC_CFLAGS) $(EGL_TESTS_CFLAGS)
877 buffer_count_weston_LDADD = libtest-client.la $(EGL_TESTS_LIBS)
878 endif
879
880 if ENABLE_XWAYLAND_TEST
881 weston_tests += xwayland.weston
882 xwayland_weston_SOURCES = tests/xwayland-test.c
883 xwayland_weston_CFLAGS = $(GCC_CFLAGS) $(XWAYLAND_TEST_CFLAGS)
884 xwayland_weston_LDADD = libtest-client.la $(XWAYLAND_TEST_LIBS)
885 endif
886
887 matrix_test_SOURCES =                           \
888         tests/matrix-test.c                     \
889         shared/matrix.c                         \
890         shared/matrix.h
891 matrix_test_CPPFLAGS = -DUNIT_TEST
892 matrix_test_LDADD = -lm -lrt
893
894 if BUILD_SETBACKLIGHT
895 noinst_PROGRAMS += setbacklight
896 setbacklight_SOURCES =                          \
897         tests/setbacklight.c                    \
898         src/libbacklight.c                      \
899         src/libbacklight.h
900 setbacklight_CFLAGS = $(AM_CFLAGS) $(SETBACKLIGHT_CFLAGS)
901 setbacklight_LDADD = $(SETBACKLIGHT_LIBS)
902 endif
903
904 EXTRA_DIST += tests/weston-tests-env
905
906 BUILT_SOURCES +=                                \
907         protocol/wayland-test-protocol.c        \
908         protocol/wayland-test-server-protocol.h \
909         protocol/wayland-test-client-protocol.h \
910         protocol/text-protocol.c                \
911         protocol/text-client-protocol.h
912
913 EXTRA_DIST +=                                   \
914         protocol/desktop-shell.xml              \
915         protocol/screenshooter.xml              \
916         protocol/xserver.xml                    \
917         protocol/text.xml                       \
918         protocol/input-method.xml               \
919         protocol/workspaces.xml                 \
920         protocol/text-cursor-position.xml       \
921         protocol/wayland-test.xml               \
922         protocol/xdg-shell.xml                  \
923         protocol/fullscreen-shell.xml           \
924         protocol/scaler.xml
925
926 man_MANS = weston.1 weston.ini.5
927
928 if ENABLE_DRM_COMPOSITOR
929 man_MANS += weston-drm.7
930 endif
931
932 MAN_SUBSTS =                                                            \
933         -e 's|__weston_native_backend__|$(WESTON_NATIVE_BACKEND)|g'     \
934         -e 's|__weston_modules_dir__|$(pkglibdir)|g'                    \
935         -e 's|__weston_shell_client__|$(WESTON_SHELL_CLIENT)|g'         \
936         -e 's|__version__|$(PACKAGE_VERSION)|g'
937
938 SUFFIXES = .1 .5 .7 .man
939
940 %.1 %.5 %.7 : man/%.man
941         $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
942
943 EXTRA_DIST +=                                   \
944         man/weston.man                          \
945         man/weston-drm.man                      \
946         man/weston.ini.man
947
948 CLEANFILES += $(man_MANS)
949
950
951 protocol/%-protocol.c : $(top_srcdir)/protocol/%.xml
952         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) code < $< > $@
953
954 protocol/%-server-protocol.h : $(top_srcdir)/protocol/%.xml
955         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) server-header < $< > $@
956
957 protocol/%-client-protocol.h : $(top_srcdir)/protocol/%.xml
958         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) client-header < $< > $@