Keith Whitwell | e61df58 | 2004-04-14 12:44:07 +0000 | [diff] [blame] | 1 | # -*-makefile-*- |
| 2 | # Configuration for linux-dri: Linux DRI hardware drivers for XFree86 & others |
| 3 | |
| 4 | include $(TOP)/configs/default |
| 5 | |
| 6 | CONFIG_NAME = linux-dri |
| 7 | |
| 8 | # Compiler and flags |
| 9 | CC = gcc |
| 10 | CXX = g++ |
| 11 | |
Adam Jackson | 216f729 | 2006-01-18 20:57:02 +0000 | [diff] [blame] | 12 | #MKDEP = /usr/X11R6/bin/makedepend |
Keith Whitwell | da3e15c | 2004-12-09 08:42:19 +0000 | [diff] [blame] | 13 | #MKDEP = gcc -M |
| 14 | #MKDEP_OPTIONS = -MF depend |
| 15 | |
Alan Hourihane | c218b8c | 2008-06-04 09:56:00 +0100 | [diff] [blame] | 16 | OPT_FLAGS = -O2 -g |
Ian Romanick | bfc8a8d | 2005-04-06 21:34:34 +0000 | [diff] [blame] | 17 | PIC_FLAGS = -fPIC |
Ian Romanick | 25fe93f | 2005-04-13 20:59:15 +0000 | [diff] [blame] | 18 | |
| 19 | # Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. |
Ian Romanick | bfc8a8d | 2005-04-06 21:34:34 +0000 | [diff] [blame] | 20 | ARCH_FLAGS ?= |
Keith Whitwell | e61df58 | 2004-04-14 12:44:07 +0000 | [diff] [blame] | 21 | |
Keith Whitwell | fc23672 | 2004-12-08 15:16:36 +0000 | [diff] [blame] | 22 | DEFINES = -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE \ |
| 23 | -D_BSD_SOURCE -D_GNU_SOURCE \ |
Ian Romanick | dc6e2c7 | 2005-07-29 17:25:50 +0000 | [diff] [blame] | 24 | -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \ |
Ian Romanick | f3f51bc | 2006-10-11 22:37:14 +0000 | [diff] [blame] | 25 | -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING \ |
| 26 | -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN |
Keith Whitwell | fc23672 | 2004-12-08 15:16:36 +0000 | [diff] [blame] | 27 | |
Ian Romanick | a3dd6ef | 2005-08-15 15:01:39 +0000 | [diff] [blame] | 28 | X11_INCLUDES = -I/usr/X11R6/include |
| 29 | |
Brian Paul | 789eb27 | 2006-04-06 16:46:34 +0000 | [diff] [blame] | 30 | CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \ |
| 31 | $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS) |
Keith Whitwell | fc23672 | 2004-12-08 15:16:36 +0000 | [diff] [blame] | 32 | |
Brian Paul | 8cb2923 | 2005-10-28 13:11:00 +0000 | [diff] [blame] | 33 | CXXFLAGS = -Wall $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) |
Keith Whitwell | fc23672 | 2004-12-08 15:16:36 +0000 | [diff] [blame] | 34 | |
Dan Nicholson | dbcd20f | 2007-10-31 16:18:29 -0700 | [diff] [blame] | 35 | |
Dan Nicholson | 013dbcd | 2007-10-31 09:47:39 -0700 | [diff] [blame] | 36 | # Work around aliasing bugs - developers should comment this out |
| 37 | CFLAGS += -fno-strict-aliasing |
| 38 | CXXFLAGS += -fno-strict-aliasing |
Keith Whitwell | e61df58 | 2004-04-14 12:44:07 +0000 | [diff] [blame] | 39 | |
José Fonseca | 90b2beb | 2008-02-19 13:27:13 +0900 | [diff] [blame] | 40 | MESA_ASM_SOURCES = |
Keith Whitwell | e61df58 | 2004-04-14 12:44:07 +0000 | [diff] [blame] | 41 | |
| 42 | # Library/program dependencies |
Ian Romanick | bfc8a8d | 2005-04-06 21:34:34 +0000 | [diff] [blame] | 43 | EXTRA_LIB_PATH=-L/usr/X11R6/lib |
Keith Whitwell | e61df58 | 2004-04-14 12:44:07 +0000 | [diff] [blame] | 44 | |
Christopher James Halse Rogers | d1e28b2 | 2011-02-03 11:19:32 +1100 | [diff] [blame] | 45 | MESA_MODULES = $(TOP)/src/mesa/libmesa.a |
| 46 | |
Stéphane Marchesin | 3db309a | 2011-09-30 17:49:48 -0700 | [diff] [blame] | 47 | LIBDRM_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm) |
| 48 | LIBDRM_LIB = $(shell $(PKG_CONFIG) --libs libdrm) |
Christopher James Halse Rogers | d1e28b2 | 2011-02-03 11:19:32 +1100 | [diff] [blame] | 49 | DRI_LIB_DEPS = $(MESA_MODULES) $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB) |
Eric Anholt | c2b185c | 2007-01-05 18:19:58 -0800 | [diff] [blame] | 50 | GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \ |
George Sapountzis | 750f521 | 2008-04-18 17:34:45 +0300 | [diff] [blame] | 51 | -lm -lpthread -ldl $(LIBDRM_LIB) |
Keith Whitwell | e61df58 | 2004-04-14 12:44:07 +0000 | [diff] [blame] | 52 | |
| 53 | |
| 54 | # Directories |
Kristian Høgsberg | 6e8897f | 2010-02-09 09:58:36 -0500 | [diff] [blame] | 55 | SRC_DIRS := glx egl $(SRC_DIRS) |
Ian Romanick | a3dd6ef | 2005-08-15 15:01:39 +0000 | [diff] [blame] | 56 | |
Jakob Bornecrantz | e59086a | 2008-07-13 18:04:49 +0200 | [diff] [blame] | 57 | # EGL directories |
Chia-I Wu | 324fdf7 | 2010-01-22 15:07:58 +0800 | [diff] [blame] | 58 | EGL_DRIVERS_DIRS = glx |
Ian Romanick | a3dd6ef | 2005-08-15 15:01:39 +0000 | [diff] [blame] | 59 | |
Brian Paul | e135936 | 2009-02-09 11:16:20 -0700 | [diff] [blame] | 60 | DRIVER_DIRS = dri |
Kai Wasserbäch | 2c27f20 | 2011-11-29 15:04:58 +0100 | [diff] [blame] | 61 | GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel svga/drm |
Brian Paul | 39503c1 | 2011-10-23 10:39:38 -0600 | [diff] [blame] | 62 | GALLIUM_TARGET_DIRS = dri-vmwgfx |
| 63 | GALLIUM_STATE_TRACKERS_DIRS = egl dri |
Keith Whitwell | e61df58 | 2004-04-14 12:44:07 +0000 | [diff] [blame] | 64 | |
Matt Turner | 3f96434 | 2012-01-15 10:20:30 -0500 | [diff] [blame] | 65 | DRI_DIRS = swrast |
Brian Paul | 251363e | 2010-01-06 08:13:56 -0700 | [diff] [blame] | 66 | |
Stéphane Marchesin | 3db309a | 2011-09-30 17:49:48 -0700 | [diff] [blame] | 67 | INTEL_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_intel) |
| 68 | INTEL_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_intel) |
Brian Paul | 251363e | 2010-01-06 08:13:56 -0700 | [diff] [blame] | 69 | |
Stéphane Marchesin | 3db309a | 2011-09-30 17:49:48 -0700 | [diff] [blame] | 70 | NOUVEAU_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_nouveau) |
| 71 | NOUVEAU_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_nouveau) |
Johannes Obermayr | 873379a | 2011-06-02 17:15:44 -0600 | [diff] [blame] | 72 | |
Brian Paul | c7188ec | 2012-01-12 07:53:22 -0700 | [diff] [blame] | 73 | RADEON_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_radeon) |
| 74 | RADEON_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_radeon) |
Johannes Obermayr | 873379a | 2011-06-02 17:15:44 -0600 | [diff] [blame] | 75 | RADEON_LDFLAGS = $(LIBDRM_RADEON_LIBS) |