# -*-makefile-*-
# Configuration for linux-indirect: Builds a libGL capable of indirect
# rendering, but *NOT* capable of direct rendering.

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

WARN_FLAGS = -Wall
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 \
	-DGLX_INDIRECT_RENDERING \
	-DPTHREADS -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN

X11_INCLUDES = -I/usr/X11R6/include

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

CXXFLAGS = $(WARN_FLAGS) $(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

DRI_LIB_DEPS  = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl
GL_LIB_DEPS   = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl


# Directories
SRC_DIRS = glx glu glut/glx glw
DRIVER_DIRS =
