1 CFLAGS += -Wall -g $(shell pkg-config --cflags libffi libdrm)
2 LDLIBS += $(shell pkg-config --libs libffi libdrm)
4 clients = flower pointer background window
6 all : wayland $(clients)
8 wayland_objs = wayland.o event-loop.o connection.o hash.o input.o egl-compositor.o
9 wayland : CFLAGS += -I../eagle
10 wayland : LDLIBS += -L../eagle -leagle -ldl
12 wayland : $(wayland_objs)
13 gcc -o $@ $(LDLIBS) $(wayland_objs)
15 libwayland_objs = wayland-client.o connection.o
17 libwayland.so : $(libwayland_objs)
18 gcc -o $@ $(libwayland_objs) -shared
20 flower_objs = flower.o
21 pointer_objs = pointer.o
22 background_objs = background.o
23 window_objs = window.o
25 $(clients) : CFLAGS += $(shell pkg-config --cflags cairo)
26 $(clients) : LDLIBS += $(shell pkg-config --libs cairo gdk-pixbuf-2.0) -lrt
28 background : CFLAGS += $(shell pkg-config --cflags gdk-pixbuf-2.0)
29 background : LDLIBS += $(shell pkg-config --libs gdk-pixbuf-2.0)
31 define client_template
32 $(1): $$($(1)_objs) libwayland.so
35 $(foreach c,$(clients),$(eval $(call client_template,$(c))))
38 gcc -o $@ -L. -lwayland $(LDLIBS) $^
41 rm -f $(clients) wayland *.o libwayland.so