Add keyboard input, move input device creation to compositor.
[profile/ivi/wayland.git] / Makefile
1 CFLAGS = -Wall -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden
2
3 PKG_CONFIG_PATH ?= $(HOME)/install/lib/pkgconfig
4
5 EAGLE_CFLAGS = $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --cflags eagle)
6 EAGLE_LDLIBS = $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config --libs eagle)
7
8 clients = flower pointer background window screenshot
9 compositors = egl-compositor.so glx-compositor.so
10
11 all : wayland libwayland.so $(compositors) $(clients)
12
13 wayland_objs =                                  \
14         wayland.o                               \
15         event-loop.o                            \
16         connection.o                            \
17         wayland-util.o
18
19 wayland : CFLAGS += $(shell pkg-config --cflags libffi)
20 wayland : LDLIBS += $(shell pkg-config --libs libffi) -ldl -rdynamic
21
22 wayland : $(wayland_objs)
23         gcc -o $@ $(LDLIBS) $(wayland_objs)
24
25 libwayland_objs = wayland-client.o connection.o wayland-util.o
26
27 libwayland.so : $(libwayland_objs)
28
29 $(compositors) $(clients) : CFLAGS += $(shell pkg-config --cflags libdrm)
30
31 egl_compositor_objs = egl-compositor.o evdev.o cairo-util.o
32 egl-compositor.so : CFLAGS += $(EAGLE_CFLAGS) $(shell pkg-config --cflags libpng cairo gdk-pixbuf-2.0)
33 egl-compositor.so : LDLIBS += $(EAGLE_LDLIBS) $(shell pkg-config --libs libpng cairo gdk-pixbuf-2.0) -rdynamic
34
35 egl-compositor.so : $(egl_compositor_objs)
36
37 glx_compositor_objs = glx-compositor.o
38 glx-compositor.so : LDLIBS += -lGL
39
40 glx-compositor.so : $(glx_compositor_objs)
41
42
43 libwayland.so $(compositors) :
44         gcc -o $@ $^ $(LDLIBS) -shared 
45
46 flower_objs = flower.o wayland-glib.o
47 pointer_objs = pointer.o wayland-glib.o cairo-util.o
48 background_objs = background.o wayland-glib.o
49 window_objs = window.o gears.o wayland-glib.o cairo-util.o
50 screenshot_objs = screenshot.o wayland-glib.o
51
52 $(clients) : CFLAGS += $(shell pkg-config --cflags cairo glib-2.0)
53 $(clients) : LDLIBS += $(shell pkg-config --libs cairo glib-2.0) -lrt
54
55 background : CFLAGS += $(shell pkg-config --cflags gdk-pixbuf-2.0)
56 background : LDLIBS += $(shell pkg-config --libs gdk-pixbuf-2.0)
57
58 window : CFLAGS += $(EAGLE_CFLAGS)
59 window : LDLIBS += $(EAGLE_LDLIBS)
60
61 define client_template
62 $(1): $$($(1)_objs) libwayland.so
63 endef
64
65 $(foreach c,$(clients),$(eval $(call client_template,$(c))))
66
67 $(clients) :
68         gcc -o $@ -L. -lwayland $(LDLIBS) $^
69
70 clean :
71         rm -f $(clients) wayland *.o *.so