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