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