blob: a5efea25d060c6b754f5d0ff83c0d049f3c9ff38 [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 -070035
Dan Nicholson013dbcd2007-10-31 09:47:39 -070036# Work around aliasing bugs - developers should comment this out
37CFLAGS += -fno-strict-aliasing
38CXXFLAGS += -fno-strict-aliasing
Keith Whitwelle61df582004-04-14 12:44:07 +000039
José Fonseca90b2beb2008-02-19 13:27:13 +090040MESA_ASM_SOURCES =
Keith Whitwelle61df582004-04-14 12:44:07 +000041
42# Library/program dependencies
Ian Romanickbfc8a8d2005-04-06 21:34:34 +000043EXTRA_LIB_PATH=-L/usr/X11R6/lib
Keith Whitwelle61df582004-04-14 12:44:07 +000044
Christopher James Halse Rogersd1e28b22011-02-03 11:19:32 +110045MESA_MODULES = $(TOP)/src/mesa/libmesa.a
46
Stéphane Marchesin3db309a2011-09-30 17:49:48 -070047LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm)
48LIBDRM_LIB = $(shell $(PKG_CONFIG) --libs libdrm)
Christopher James Halse Rogersd1e28b22011-02-03 11:19:32 +110049DRI_LIB_DEPS = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
Eric Anholtc2b185c2007-01-05 18:19:58 -080050GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
George Sapountzis750f5212008-04-18 17:34:45 +030051 -lm -lpthread -ldl $(LIBDRM_LIB)
Keith Whitwelle61df582004-04-14 12:44:07 +000052
53
54# Directories
Kristian Høgsberg6e8897f2010-02-09 09:58:36 -050055SRC_DIRS := glx egl $(SRC_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
Kai Wasserbäch2c27f202011-11-29 15:04:58 +010061GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel svga/drm
Brian Paul39503c12011-10-23 10:39:38 -060062GALLIUM_TARGET_DIRS = dri-vmwgfx
63GALLIUM_STATE_TRACKERS_DIRS = egl dri
Keith Whitwelle61df582004-04-14 12:44:07 +000064
Matt Turner3f964342012-01-15 10:20:30 -050065DRI_DIRS = swrast
Brian Paul251363e2010-01-06 08:13:56 -070066
Stéphane Marchesin3db309a2011-09-30 17:49:48 -070067INTEL_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_intel)
68INTEL_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_intel)
Brian Paul251363e2010-01-06 08:13:56 -070069
Stéphane Marchesin3db309a2011-09-30 17:49:48 -070070NOUVEAU_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_nouveau)
71NOUVEAU_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_nouveau)
Johannes Obermayr873379a2011-06-02 17:15:44 -060072
Brian Paulc7188ec2012-01-12 07:53:22 -070073RADEON_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_radeon)
74RADEON_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_radeon)
Johannes Obermayr873379a2011-06-02 17:15:44 -060075RADEON_LDFLAGS = $(LIBDRM_RADEON_LIBS)