3 subdirs = clients spec data
4 libs = libwayland-server.so libwayland-client.so
6 all : $(libs) compositor subdirs-all scanner
10 wayland-server-protocol.h \
12 wayland-client-protocol.h \
15 libwayland-server.so : \
23 libwayland-client.so : \
30 wayland-server.o : wayland-server-protocol.h
31 wayland-client.o : wayland-client-protocol.h
33 wayland-protocol.c : protocol.xml scanner
34 ./scanner code < $< > $@
36 wayland-server-protocol.h : protocol.xml scanner
37 ./scanner server-header < $< > $@
39 wayland-client-protocol.h : protocol.xml scanner
40 ./scanner client-header < $< > $@
42 $(libs) : CFLAGS += -fPIC $(FFI_CFLAGS)
43 $(libs) : LDLIBS += $(FFI_LIBS)
45 gcc -shared $^ $(LDLIBS) -o $@
54 compositor : CFLAGS += $(COMPOSITOR_CFLAGS)
55 compositor : LDLIBS += ./libwayland-server.so $(COMPOSITOR_LIBS) -rdynamic -lrt -lEGL -lm
61 scanner : LDLIBS += $(EXPAT_LIBS)
63 subdirs-all subdirs-clean subdirs-install:
64 for f in $(subdirs); do $(MAKE) -C $$f $(@:subdirs-%=%); done
66 install : $(libs) compositor subdirs-install
67 install -d $(libdir) $(libdir)/pkgconfig ${udev_rules_dir}
68 install $(libs) $(libdir)
69 install wayland-server.pc wayland-client.pc $(libdir)/pkgconfig
70 install $(headers) $(includedir)
71 install 70-wayland.rules ${udev_rules_dir}
74 rm -f compositor scanner *.o *.so .*.deps
75 rm -f wayland-protocol.c \
76 wayland-server-protocol.h wayland-client-protocol.h
78 config.mk : config.mk.in