# -*-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  = -O -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)


MESA_ASM_SOURCES = 

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

LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm)
LIBDRM_LIB = $(shell pkg-config --libs libdrm)
DRI_LIB_DEPS  = $(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 = gallium mesa gallium/winsys glu egl
PROGRAM_DIRS = egl

DRIVER_DIRS = dri
GALLIUM_WINSYS_DIRS = egl_drm

DRI_DIRS = intel 
