Add convenience functions for posting display events
[profile/ivi/wayland.git] / Makefile
1 include config.mk
2
3 subdirs = clients spec data
4 libs = libwayland-server.so libwayland-client.so
5
6 all : $(libs) compositor subdirs-all scanner
7
8 headers =                                       \
9         wayland-util.h                          \
10         wayland-server-protocol.h               \
11         wayland-server.h                        \
12         wayland-client-protocol.h               \
13         wayland-client.h \
14
15 libwayland-server.so :                          \
16         wayland-protocol.o                      \
17         wayland-server.o                        \
18         event-loop.o                            \
19         connection.o                            \
20         wayland-util.o                          \
21         wayland-hash.o
22
23 libwayland-client.so :                          \
24         wayland-protocol.o                      \
25         wayland-client.o                        \
26         connection.o                            \
27         wayland-util.o                          \
28         wayland-hash.o
29
30 wayland-server.o : wayland-server-protocol.h
31 wayland-client.o : wayland-client-protocol.h
32
33 wayland-protocol.c : protocol.xml scanner
34         ./scanner code < $< > $@
35
36 wayland-server-protocol.h : protocol.xml scanner
37         ./scanner server-header < $< > $@
38
39 wayland-client-protocol.h : protocol.xml scanner
40         ./scanner client-header < $< > $@
41
42 $(libs) : CFLAGS += -fPIC $(FFI_CFLAGS)
43 $(libs) : LDLIBS += $(FFI_LIBS)
44 $(libs) :
45         gcc -shared $^ $(LDLIBS)  -o $@
46
47 compositor :                                    \
48         compositor.o                            \
49         compositor-drm.o                        \
50         compositor-x11.o                        \
51         screenshooter.o                         \
52         drm.o
53
54 compositor : CFLAGS += $(COMPOSITOR_CFLAGS)
55 compositor : LDLIBS += ./libwayland-server.so $(COMPOSITOR_LIBS) -rdynamic -lrt -lEGL -lm
56
57 scanner :                                       \
58         scanner.o                               \
59         wayland-util.o
60
61 scanner : LDLIBS += $(EXPAT_LIBS)
62
63 subdirs-all subdirs-clean subdirs-install:
64         for f in $(subdirs); do $(MAKE) -C $$f $(@:subdirs-%=%); done
65
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}
72
73 clean : subdirs-clean
74         rm -f compositor scanner *.o *.so .*.deps
75         rm -f wayland-protocol.c \
76                 wayland-server-protocol.h wayland-client-protocol.h
77
78 config.mk : config.mk.in
79         ./config.status