4 libs = libwayland-server.so libwayland.so
6 all : $(libs) compositor subdirs-all scanner
8 libwayland-server.so : \
23 wayland.o : wayland-server-protocol.h
24 wayland-client.o : wayland-client-protocol.h
26 wayland-protocol.c : protocol.xml scanner
27 ./scanner code < $< > $@
29 wayland-server-protocol.h : protocol.xml scanner
30 ./scanner server-header < $< > $@
32 wayland-client-protocol.h : protocol.xml scanner
33 ./scanner client-header < $< > $@
35 $(libs) : CFLAGS += -fPIC $(FFI_CFLAGS)
36 $(libs) : LDLIBS += $(FFI_LIBS)
38 gcc -shared $^ $(LDLIBS) -o $@
47 compositor : CFLAGS += $(COMPOSITOR_CFLAGS)
48 compositor : LDLIBS += ./libwayland-server.so $(COMPOSITOR_LIBS) -rdynamic -lrt -lEGL -lm
54 scanner : LDLIBS += $(EXPAT_LIBS)
56 subdirs-all subdirs-clean :
57 for f in $(subdirs); do $(MAKE) -C $$f $(@:subdirs-%=%); done
59 install : $(libs) compositor
60 install -d $(libdir) $(libdir)/pkgconfig ${udev_rules_dir}
61 install $(libs) $(libdir)
62 install wayland-server.pc wayland.pc $(libdir)/pkgconfig
63 install wayland-util.h wayland-client.h $(includedir)
64 install 70-wayland.rules ${udev_rules_dir}
67 rm -f compositor scanner *.o *.so
68 rm -f wayland-protocol.c \
69 wayland-server-protocol.h wayland-client-protocol.h
71 config.mk : config.mk.in