blob: b75273946da84245f94d181afe1da1c8acbea0f0 [file] [log] [blame]
Keith Whitwelle61df582004-04-14 12:44:07 +00001# -*-makefile-*-
2# Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others
3
4include $(TOP)/configs/default
5
6CONFIG_NAME = linux-dri
7
8# Compiler and flags
9CC = gcc
10CXX = g++
11
Adam Jackson216f7292006-01-18 20:57:02 +000012#MKDEP = /usr/X11R6/bin/makedepend
Keith Whitwellda3e15c2004-12-09 08:42:19 +000013#MKDEP = gcc -M
14#MKDEP_OPTIONS = -MF depend
15
Alan Hourihanec218b8c2008-06-04 09:56:00 +010016OPT_FLAGS = -O2 -g
Ian Romanickbfc8a8d2005-04-06 21:34:34 +000017PIC_FLAGS = -fPIC
Ian Romanick25fe93f2005-04-13 20:59:15 +000018
19# Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
Ian Romanickbfc8a8d2005-04-06 21:34:34 +000020ARCH_FLAGS ?=
Keith Whitwelle61df582004-04-14 12:44:07 +000021
Keith Whitwellfc236722004-12-08 15:16:36 +000022DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \
23 -D_BSD_SOURCE -D_GNU_SOURCE \
Ian Romanickdc6e2c72005-07-29 17:25:50 +000024 -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
Ian Romanickf3f51bc2006-10-11 22:37:14 +000025 -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \
26 -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
Keith Whitwellfc236722004-12-08 15:16:36 +000027
Ian Romanicka3dd6ef2005-08-15 15:01:39 +000028X11_INCLUDES = -I/usr/X11R6/include
29
Brian Paul789eb272006-04-06 16:46:34 +000030CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
31 $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)
Keith Whitwellfc236722004-12-08 15:16:36 +000032
Brian Paul8cb29232005-10-28 13:11:00 +000033CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES)
Keith Whitwellfc236722004-12-08 15:16:36 +000034
Dan Nicholsondbcd20f2007-10-31 16:18:29 -070035GLUT_CFLAGS = -fexceptions
36
Dan Nicholson013dbcd2007-10-31 09:47:39 -070037# Work around aliasing bugs - developers should comment this out
38CFLAGS += -fno-strict-aliasing
39CXXFLAGS += -fno-strict-aliasing
Keith Whitwelle61df582004-04-14 12:44:07 +000040
José Fonseca90b2beb2008-02-19 13:27:13 +090041MESA_ASM_SOURCES =
Keith Whitwelle61df582004-04-14 12:44:07 +000042
43# Library/program dependencies
Ian Romanickbfc8a8d2005-04-06 21:34:34 +000044EXTRA_LIB_PATH=-L/usr/X11R6/lib
Keith Whitwelle61df582004-04-14 12:44:07 +000045
José Fonseca1d2ff452007-10-25 15:46:40 +010046LIBDRM_CFLAGS = $(shell pkg-config --cflags libdrm)
47LIBDRM_LIB = $(shell pkg-config --libs libdrm)
Adam Jackson8fcd1e02005-08-19 20:20:03 +000048DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
Eric Anholtc2b185c2007-01-05 18:19:58 -080049GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
George Sapountzis750f5212008-04-18 17:34:45 +030050 -lm -lpthread -ldl $(LIBDRM_LIB)
Keith Whitwelle61df582004-04-14 12:44:07 +000051
52
53# Directories
Kristian Høgsberg6e8897f2010-02-09 09:58:36 -050054SRC_DIRS := glx egl $(SRC_DIRS)
Alan Hourihaneaf1ce232008-11-13 19:38:18 +000055PROGRAM_DIRS := egl $(PROGRAM_DIRS)
Ian Romanicka3dd6ef2005-08-15 15:01:39 +000056
Jakob Bornecrantze59086a2008-07-13 18:04:49 +020057# EGL directories
Chia-I Wu324fdf72010-01-22 15:07:58 +080058EGL_DRIVERS_DIRS = glx
Ian Romanicka3dd6ef2005-08-15 15:01:39 +000059
Brian Paule1359362009-02-09 11:16:20 -070060DRIVER_DIRS = dri
Jakob Bornecrantz43e62722009-02-10 16:23:02 +010061GALLIUM_WINSYS_DIRS = drm
Keith Whitwella5585cb2009-12-21 19:18:41 +000062GALLIUM_WINSYS_DRM_DIRS = vmware intel i965
Chia-I Wu3c967a92010-01-22 16:31:43 +080063GALLIUM_STATE_TRACKERS_DIRS = egl
Keith Whitwelle61df582004-04-14 12:44:07 +000064
Keith Whitwell57531ba2009-12-21 19:21:09 +000065DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon \
Vinson Leee5d09562010-03-03 19:03:45 -080066 savage sis tdfx unichrome swrast
Brian Paul251363e2010-01-06 08:13:56 -070067
68INTEL_LIBS = `pkg-config --libs libdrm_intel`
69INTEL_CFLAGS = `pkg-config --cflags libdrm_intel`
70
71RADEON_LIBS = `pkg-config --libs libdrm_radeon`
72RADEON_CFLAGS = `pkg-config --cflags libdrm_radeon`