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