Merge branch 'mesa_7_7_branch'
[mesa.git] / src / gallium / state_trackers / egl / Makefile
index 692a3c8b76f579cf5faa63ef8573edeba1bcd1ad..b696f2fae93cce7af0233f5418f352abddd521c6 100644 (file)
@@ -1,29 +1,75 @@
-TARGET     = libegldrm.a
-CFILES     = $(wildcard ./*.c)
-OBJECTS    = $(patsubst ./%.c,./%.o,$(CFILES))
-GALLIUMDIR = ../..
-TOP        = ../../../..
+TOP = ../../../..
+include $(TOP)/configs/current
 
-include ${TOP}/configs/current
+common_INCLUDES = \
+       -I. \
+       -I$(TOP)/src/gallium/include \
+       -I$(TOP)/src/gallium/auxiliary \
+       -I$(TOP)/src/egl/main \
+       -I$(TOP)/include
 
-CFLAGS := \
-          -I${GALLIUMDIR}/include \
-          -I${GALLIUMDIR}/auxiliary \
-          -I${TOP}/src/mesa/drivers/dri/common \
-          -I${TOP}/src/mesa \
-          -I$(TOP)/include \
-          -I$(TOP)/src/egl/main \
-          ${LIBDRM_CFLAGS} \
-          ${CFLAGS}
+common_SOURCES = $(wildcard common/*.c)
+common_OBJECTS = $(common_SOURCES:.c=.o)
 
-#############################################
 
-.PHONY = all clean
+x11_INCLUDES = \
+       -I$(TOP)/src/gallium/drivers \
+       -I$(TOP)/src/glx/x11 \
+       -I$(TOP)/src/egl/drivers/xdri \
+       -I$(TOP)/src/mesa \
+       $(shell pkg-config --cflags-only-I libdrm)
 
-all: ${TARGET}
+x11_SOURCES = $(wildcard x11/*.c) \
+             $(TOP)/src/glx/x11/dri2.c \
+             $(TOP)/src/egl/drivers/xdri/glxinit.c
+x11_OBJECTS = $(x11_SOURCES:.c=.o)
 
-${TARGET}: ${OBJECTS}
-       ar rcs $@ $^
+
+kms_INCLUDES = $(shell pkg-config --cflags-only-I libdrm)
+kms_SOURCES = $(wildcard kms/*.c)
+kms_OBJECTS = $(kms_SOURCES:.c=.o)
+
+
+ALL_INCLUDES = $(common_INCLUDES) $(x11_INCLUDES) $(kms_INCLUDES)
+ALL_SOURCES = $(common_SOURCES) $(x11_SOURCES) $(kms_SOURCES)
+ALL_OBJECTS = $(common_OBJECTS) $(x11_OBJECTS) $(kms_OBJECTS)
+
+##### TARGETS #####
+
+EGL_DISPLAYS_MODS = $(foreach dpy, $(EGL_DISPLAYS), libegl$(dpy).a)
+
+default: depend $(EGL_DISPLAYS_MODS)
+
+
+libeglx11.a: $(x11_OBJECTS) $(common_OBJECTS) Makefile
+       $(MKLIB) -o eglx11 -static $(x11_OBJECTS) $(common_OBJECTS)
+
+libeglkms.a: $(kms_OBJECTS) $(common_OBJECTS) Makefile
+       $(MKLIB) -o eglkms -static $(kms_OBJECTS) $(common_OBJECTS)
+
+depend: 
+       rm -f depend
+       touch depend
+       $(MKDEP) $(MKDEP_OPTIONS) $(ALL_INCLUDES) $(ALL_SOURCES) 2> /dev/null
 
 clean:
-       rm -rf ${OBJECTS} ${TARGET}
+       rm -f $(ALL_OBJECTS)
+       rm -f $(EGL_DISPLAYS_MODS)
+       rm -f depend depend.bak
+
+# Dummy target
+install:
+       @echo -n ""
+
+##### RULES #####
+
+$(common_OBJECTS): %.o: %.c
+       $(CC) -c $(common_INCLUDES) $(DEFINES) $(CFLAGS) $< -o $@
+
+$(x11_OBJECTS): %.o: %.c
+       $(CC) -c $(common_INCLUDES) $(x11_INCLUDES) $(DEFINES) $(CFLAGS) $< -o $@
+
+$(kms_OBJECTS): %.o: %.c
+       $(CC) -c $(common_INCLUDES) $(kms_INCLUDES) $(DEFINES) $(CFLAGS) $< -o $@
+
+sinclude depend