# -*-makefile-*-
# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others

include $(TOP)/configs/default

CONFIG_NAME = linux-dri

# Compiler and flags
CC = gcc
CXX = g++

#MKDEP = /usr/X11R6/bin/makedepend
#MKDEP = gcc -M
#MKDEP_OPTIONS = -MF depend

OPT_FLAGS  = -O2 -g
PIC_FLAGS  = -fPIC

# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
ARCH_FLAGS ?=

DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
	-D_BSD_SOURCE -D_GNU_SOURCE \
	-DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
	-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
	-DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN

X11_INCLUDES = -I/usr/X11R6/include

CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
	$(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)

CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)


# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing

MESA_ASM_SOURCES = 

# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/X11R6/lib

MESA_MODULES  = $(TOP)/src/mesa/libmesa.a

LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm)
LIBDRM_LIB = $(shell $(PKG_CONFIG) --libs libdrm)
DRI_LIB_DEPS  = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
GL_LIB_DEPS   = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
		-lm -lpthread -ldl $(LIBDRM_LIB)


# Directories
SRC_DIRS := glx egl $(SRC_DIRS)

# EGL directories
EGL_DRIVERS_DIRS = glx

DRIVER_DIRS = dri
GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel drm/i965 svga/drm
GALLIUM_TARGET_DIRS = dri-vmwgfx
GALLIUM_STATE_TRACKERS_DIRS = egl dri

DRI_DIRS = i915 i965 nouveau r200 radeon swrast

INTEL_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_intel)
INTEL_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_intel)

NOUVEAU_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_nouveau)
NOUVEAU_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_nouveau)

LIBDRM_RADEON_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_radeon)
LIBDRM_RADEON_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_radeon)
RADEON_CFLAGS = "-DHAVE_LIBDRM_RADEON=1 $(LIBDRM_RADEON_CFLAGS)"
RADEON_LDFLAGS = $(LIBDRM_RADEON_LIBS)