blob: 0301345b1fc0a0200228f01fa83417427a10f23b [file] [log] [blame]
Brian Paula70ad912004-03-26 15:16:35 +00001# Default/template configuration
2
3# This is included by other config files which may override some
4# of these variables.
Brian Paul0e794a12006-06-22 22:50:48 +00005# Think of this as a base class from which configs are derived.
6
Brian Paula70ad912004-03-26 15:16:35 +00007
8CONFIG_NAME = default
9
10# Version info
Briane371a5f2007-04-27 17:01:23 -060011MESA_MAJOR=7
Vinson Lee3c9653c2010-09-17 17:52:13 -070012MESA_MINOR=10
Briane371a5f2007-04-27 17:01:23 -060013MESA_TINY=0
Dan Nicholson00994ac2008-04-30 15:06:00 -070014MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
Brian Paula70ad912004-03-26 15:16:35 +000015
Adam Jackson8fcd1e02005-08-19 20:20:03 +000016# external projects. This should be useless now that we use libdrm.
Jon Smirl78be0b52005-07-02 21:28:01 +000017DRM_SOURCE_PATH=$(TOP)/../drm
Brian Paula70ad912004-03-26 15:16:35 +000018
19# Compiler and flags
20CC = cc
21CXX = CC
Ian Romanickb3492a22008-01-03 15:08:53 -080022HOST_CC = $(CC)
Brian Paula70ad912004-03-26 15:16:35 +000023CFLAGS = -O
24CXXFLAGS = -O
Dan Nicholson2a3e3382007-09-28 18:42:21 -060025LDFLAGS =
Dan Nicholson9c8b6932009-09-12 09:27:01 -070026HOST_CFLAGS = $(CFLAGS)
Brian Paula70ad912004-03-26 15:16:35 +000027GLU_CFLAGS =
Brian Paul9f4ccd82004-04-07 23:15:26 +000028
Brian Paul90c93bb2008-09-11 11:00:54 -060029# Compiler for building demos/tests/etc
30APP_CC = $(CC)
31APP_CXX = $(CXX)
32
Brian Paul9f4ccd82004-04-07 23:15:26 +000033# Misc tools and flags
Dan Nicholson9eee7f22008-07-08 07:44:58 -070034SHELL = /bin/sh
Dan Nicholsondb072ba2008-07-11 13:54:48 -070035MKLIB = $(SHELL) $(TOP)/bin/mklib
Brian Paula70ad912004-03-26 15:16:35 +000036MKLIB_OPTIONS =
Brian Paul9f4ccd82004-04-07 23:15:26 +000037MKDEP = makedepend
Keith Whitwellfc236722004-12-08 15:16:36 +000038MKDEP_OPTIONS = -fdepend
Eric Anholt2fb5d152004-06-01 00:06:14 +000039MAKE = make
Dan Nicholsonbc302b22009-05-22 09:39:02 -070040
41# Use MINSTALL for installing libraries, INSTALL for everything else
42MINSTALL = $(SHELL) $(TOP)/bin/minstall
43INSTALL = $(MINSTALL)
Brian Paula70ad912004-03-26 15:16:35 +000044
Dan Nicholson817af9b2008-01-15 09:52:17 -080045# Tools for regenerating glapi (generally only needed by the developers)
Brian Paulf4f1c292005-07-01 01:27:00 +000046PYTHON2 = python
47PYTHON_FLAGS = -t -O -O
Dan Nicholson817af9b2008-01-15 09:52:17 -080048INDENT = indent
49INDENT_FLAGS = -i4 -nut -br -brs -npcs -ce -T GLubyte -T GLbyte -T Bool
Brian Paulf4f1c292005-07-01 01:27:00 +000050
Brian Paula70ad912004-03-26 15:16:35 +000051# Library names (base name)
52GL_LIB = GL
53GLU_LIB = GLU
54GLUT_LIB = glut
55GLW_LIB = GLw
56OSMESA_LIB = OSMesa
Chia-I Wud4c1ee02009-12-21 11:13:18 +080057EGL_LIB = EGL
Chia-I Wu874ccd52010-05-04 22:43:05 +080058GLESv1_CM_LIB = GLESv1_CM
59GLESv2_LIB = GLESv2
60VG_LIB = OpenVG
Brian Paula70ad912004-03-26 15:16:35 +000061
62
63# Library names (actual file names)
Brian Paul05bbafa2005-03-23 02:12:21 +000064GL_LIB_NAME = lib$(GL_LIB).so
65GLU_LIB_NAME = lib$(GLU_LIB).so
66GLUT_LIB_NAME = lib$(GLUT_LIB).so
67GLW_LIB_NAME = lib$(GLW_LIB).so
Brian Paul4417d4c2005-06-07 15:25:08 +000068OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
Chia-I Wud4c1ee02009-12-21 11:13:18 +080069EGL_LIB_NAME = lib$(EGL_LIB).so
Chia-I Wu874ccd52010-05-04 22:43:05 +080070GLESv1_CM_LIB_NAME = lib$(GLESv1_CM_LIB).so
71GLESv2_LIB_NAME = lib$(GLESv2_LIB).so
72VG_LIB_NAME = lib$(VG_LIB).so
Brian Paula70ad912004-03-26 15:16:35 +000073
Jeremy Huddleston98e7c1c2008-08-12 10:59:40 -070074# globs used to install the lib and all symlinks
75GL_LIB_GLOB = $(GL_LIB_NAME)*
76GLU_LIB_GLOB = $(GLU_LIB_NAME)*
77GLUT_LIB_GLOB = $(GLUT_LIB_NAME)*
78GLW_LIB_GLOB = $(GLW_LIB_NAME)*
79OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)*
Chia-I Wud4c1ee02009-12-21 11:13:18 +080080EGL_LIB_GLOB = $(EGL_LIB_NAME)*
Chia-I Wu874ccd52010-05-04 22:43:05 +080081GLESv1_CM_LIB_GLOB = $(GLESv1_CM_LIB_NAME)*
82GLESv2_LIB_GLOB = $(GLESv2_LIB_NAME)*
83VG_LIB_GLOB = $(VG_LIB_NAME)*
Brian Paula70ad912004-03-26 15:16:35 +000084
Eric Anholt639cdd32010-08-22 17:34:18 -070085TALLOC_LIBS = `pkg-config --libs talloc`
86TALLOC_CFLAGS = `pkg-config --cflags talloc`
87
Brian Paula70ad912004-03-26 15:16:35 +000088# Optional assembly language optimization files for libGL
José Fonseca90b2beb2008-02-19 13:27:13 +090089MESA_ASM_SOURCES =
Brian Paula70ad912004-03-26 15:16:35 +000090
Brian Paul9408fe02004-07-20 20:43:24 +000091# GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
92# order to build the Motif widget too)
Brian Paul533befc2004-03-26 21:48:09 +000093GLW_SOURCES = GLwDrawA.c
Dan Nicholson776c60d2008-07-18 07:40:41 -070094MOTIF_CFLAGS = -I/usr/include/Motif1.2
Brian Paula70ad912004-03-26 15:16:35 +000095
96
Brian Paul0e794a12006-06-22 22:50:48 +000097# Directories to build
Brian Paul883f9892006-07-13 02:50:27 +000098LIB_DIR = lib
Chia-I Wu296adbd2010-04-26 12:56:44 +080099SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \
Jakob Bornecrantz05281062010-06-05 13:33:58 +0200100 gallium egl gallium/winsys gallium/targets glu glut/glx glw
Brian Paula70ad912004-03-26 15:16:35 +0000101GLU_DIRS = sgi
Jakob Bornecrantz767b1ac2009-02-10 17:43:25 +0100102DRIVER_DIRS = x11 osmesa
Brian Paula70ad912004-03-26 15:16:35 +0000103
Chia-I Wud4c1ee02009-12-21 11:13:18 +0800104# EGL drivers to build
Chia-I Wu324fdf72010-01-22 15:07:58 +0800105EGL_DRIVERS_DIRS = glx
Zack Rusind76a7b62007-10-24 08:34:01 -0400106
Jakob Bornecrantzb96d50d2009-02-10 13:59:35 +0100107# Gallium directories and
Jakob Bornecrantz43e62722009-02-10 16:23:02 +0100108GALLIUM_DIRS = auxiliary drivers state_trackers
José Fonsecac847a132009-12-31 23:46:46 +0000109GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
Brian Paul2a549172010-09-03 15:57:48 -0600110GALLIUM_DRIVERS_DIRS = softpipe trace rbug identity galahad i915 i965 svga r300 nvfx nv50 failover
Jakob Bornecrantzd67bd602009-02-20 11:03:18 +0000111GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
Jakob Bornecrantzc9f98672010-03-16 13:54:18 +0000112GALLIUM_WINSYS_DIRS = sw sw/xlib
Keith Whitwell99f11d02010-03-08 19:11:35 +0000113GALLIUM_TARGET_DIRS = libgl-xlib
Brian Paulf103f7e2010-01-26 17:31:06 -0700114GALLIUM_STATE_TRACKERS_DIRS = glx vega
José Fonsecabfd59162008-02-18 14:25:04 +0900115
Chia-I Wuda39d5d2010-06-17 16:07:46 +0800116# native platforms EGL should support
117EGL_PLATFORMS = x11
Chia-I Wu63ab2502010-05-05 15:38:02 +0800118EGL_CLIENT_APIS = $(GL_LIB)
Jakob Bornecrantzb96d50d2009-02-10 13:59:35 +0100119
120# Library dependencies
Brian Paul2216aac2006-09-06 13:56:26 +0000121#EXTRA_LIB_PATH ?=
Vinson Leed3772ea2010-08-24 12:14:14 -0700122GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread $(TALLOC_LIBS)
Chia-I Wu5a459d52009-08-21 13:53:36 +0800123EGL_LIB_DEPS = $(EXTRA_LIB_PATH) -ldl -lpthread
Ian Romanickffcb4d82008-01-03 14:59:14 -0800124OSMESA_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
125GLU_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
126GLUT_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lX11 -lXmu -lXi -lm
127GLW_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
128APP_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
Chia-I Wu874ccd52010-05-04 22:43:05 +0800129GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
130GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
131VG_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
Dan Nicholson9ef1d9f2007-10-29 09:04:30 -0600132
133# Program dependencies - specific GL/glut libraries added in Makefiles
134APP_LIB_DEPS = -lm
Dan Nicholsone40fce12010-04-01 14:59:10 -0700135X11_LIBS = -lX11
Brian Paul0e794a12006-06-22 22:50:48 +0000136
Chia-I Wu08f4bc02010-07-16 20:09:29 +0800137DLOPEN_LIBS = -ldl
138
Brian Paul0e794a12006-06-22 22:50:48 +0000139# Installation directories (for make install)
Brian Paul79b5d3e2006-10-19 20:11:15 +0000140INSTALL_DIR = /usr/local
Dan Nicholson11ac5b22008-07-03 09:17:44 -0700141INSTALL_LIB_DIR = $(INSTALL_DIR)/$(LIB_DIR)
142INSTALL_INC_DIR = $(INSTALL_DIR)/include
143DRI_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/dri
Brian Paul883f9892006-07-13 02:50:27 +0000144
145# Where libGL will look for DRI hardware drivers
146DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
147
Chia-I Wu28c3e572010-01-23 20:18:43 +0800148# EGL driver install directory
149EGL_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/egl
150
Joel Bosveld8acca482009-03-06 08:46:08 +0900151# Xorg driver install directory (for xorg state-tracker)
152XORG_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/xorg/modules/drivers
153
Dan Nicholson71e208b2008-11-24 11:01:57 -0800154# pkg-config substitutions
155GL_PC_REQ_PRIV =
156GL_PC_LIB_PRIV =
157GL_PC_CFLAGS =
158DRI_PC_REQ_PRIV =
159GLU_PC_REQ = gl
160GLU_PC_REQ_PRIV =
Dan Nicholson71e208b2008-11-24 11:01:57 -0800161GLU_PC_LIB_PRIV =
162GLU_PC_CFLAGS =
163GLUT_PC_REQ_PRIV =
164GLUT_PC_LIB_PRIV =
165GLUT_PC_CFLAGS =
166GLW_PC_REQ_PRIV =
167GLW_PC_LIB_PRIV =
168GLW_PC_CFLAGS =
Dan Nicholson8be02fc2008-12-14 09:35:29 -0800169OSMESA_PC_REQ =
170OSMESA_PC_LIB_PRIV =
Chia-I Wu874ccd52010-05-04 22:43:05 +0800171GLESv1_CM_PC_REQ_PRIV =
172GLESv1_CM_PC_LIB_PRIV =
173GLESv1_CM_PC_CFLAGS =
174GLESv2_PC_REQ_PRIV =
175GLESv2_PC_LIB_PRIV =
176GLESv2_PC_CFLAGS =
177VG_PC_REQ_PRIV =
178VG_PC_LIB_PRIV =
179VG_PC_CFLAGS =