st/egl: Implement EGL_WL_bind_wayland_display for x11,drm,wayland
[mesa.git] / src / gallium / state_trackers / egl / Makefile
1 TOP = ../../../..
2 include $(TOP)/configs/current
3
4 common_INCLUDES = \
5 -I. \
6 -I$(TOP)/src/gallium/include \
7 -I$(TOP)/src/gallium/auxiliary \
8 -I$(TOP)/src/egl/main \
9 -I$(TOP)/src/egl/wayland/wayland-drm/ \
10 -I$(TOP)/include
11
12 common_SOURCES = $(wildcard common/*.c)
13 common_OBJECTS = $(common_SOURCES:.c=.o)
14
15 x11_INCLUDES = \
16 -I$(TOP)/src/gallium/drivers \
17 -I$(TOP)/src/glx \
18 -I$(TOP)/src/mapi \
19 -I$(TOP)/src/mesa \
20 $(X11_CFLAGS) \
21 $(shell pkg-config --cflags-only-I libdrm dri2proto)
22
23 x11_SOURCES = $(wildcard x11/*.c) \
24 $(TOP)/src/glx/dri2.c
25 x11_OBJECTS = $(x11_SOURCES:.c=.o)
26
27 wayland_INCLUDES = \
28 -I$(TOP)/src/gallium/winsys \
29 -I$(TOP)/src/egl/wayland/wayland-egl \
30 -I$(TOP)/src/egl/wayland/wayland-drm \
31 $(shell pkg-config --cflags-only-I libdrm wayland-client)
32
33 wayland_SOURCES = $(wildcard wayland/*.c)
34 wayland_OBJECTS = $(wayland_SOURCES:.c=.o)
35
36 drm_INCLUDES = -I$(TOP)/src/gallium/winsys $(shell pkg-config --cflags-only-I libdrm)
37 drm_SOURCES = $(wildcard drm/*.c)
38 drm_OBJECTS = $(drm_SOURCES:.c=.o)
39
40
41 fbdev_INCLUDES = -I$(TOP)/src/gallium/winsys/sw
42 fbdev_SOURCES = $(wildcard fbdev/*.c)
43 fbdev_OBJECTS = $(fbdev_SOURCES:.c=.o)
44
45
46 ALL_INCLUDES = $(common_INCLUDES) $(x11_INCLUDES) $(drm_INCLUDES) $(fbdev_INCLUDES)
47 ALL_SOURCES = $(common_SOURCES) $(x11_SOURCES) $(drm_SOURCES) $(fbdev_SOURCES)
48
49 EGL_OBJECTS = $(common_OBJECTS)
50 EGL_CPPFLAGS = $(common_INCLUDES)
51
52 # add backends
53 ifneq ($(findstring x11, $(EGL_PLATFORMS)),)
54 EGL_OBJECTS += $(x11_OBJECTS)
55 EGL_CPPFLAGS += -DHAVE_X11_BACKEND
56 endif
57 ifneq ($(findstring wayland, $(EGL_PLATFORMS)),)
58 EGL_OBJECTS += $(wayland_OBJECTS)
59 EGL_CPPFLAGS += -DHAVE_WAYLAND_BACKEND
60 DEFINES += -DHAVE_WAYLAND_BACKEND
61 endif
62 ifneq ($(findstring drm, $(EGL_PLATFORMS)),)
63 EGL_OBJECTS += $(drm_OBJECTS)
64 EGL_CPPFLAGS += -DHAVE_DRM_BACKEND
65 endif
66 ifneq ($(findstring fbdev, $(EGL_PLATFORMS)),)
67 EGL_OBJECTS += $(fbdev_OBJECTS)
68 EGL_CPPFLAGS += -DHAVE_FBDEV_BACKEND
69 endif
70
71 ##### TARGETS #####
72
73 default: depend libegl.a
74
75 libegl.a: $(EGL_OBJECTS) Makefile
76 $(MKLIB) -o egl -static $(EGL_OBJECTS)
77
78 depend:
79 rm -f depend
80 touch depend
81 $(MKDEP) $(MKDEP_OPTIONS) $(ALL_INCLUDES) $(ALL_SOURCES) 2> /dev/null
82
83 clean:
84 rm -f libegl.a
85 rm -f $(EGL_OBJECTS)
86 rm -f depend depend.bak
87
88 # Dummy target
89 install:
90 @echo -n ""
91
92 ##### RULES #####
93
94 define egl-cc
95 $(CC) -c $(common_INCLUDES) $($(1)_INCLUDES) $(DEFINES) $(CFLAGS) $< -o $@
96 endef
97
98 $(common_OBJECTS): %.o: %.c
99 $(CC) -c $(EGL_CPPFLAGS) $(DEFINES) $(CFLAGS) $< -o $@
100
101 $(x11_OBJECTS): %.o: %.c
102 $(call egl-cc,x11)
103
104 $(wayland_OBJECTS): %.o: %.c
105 $(call egl-cc,wayland)
106
107 $(drm_OBJECTS): %.o: %.c
108 $(call egl-cc,drm)
109
110 $(fbdev_OBJECTS): %.o: %.c
111 $(call egl-cc,fbdev)
112
113 sinclude depend