1 # Default/template configuration
3 # This is included by other config files which may override some
5 # Think of this as a base class from which configs are derived.
14 MESA_VERSION = $(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY)
16 # external projects. This should be useless now that we use libdrm.
17 DRM_SOURCE_PATH=$(TOP)/../drm
26 HOST_CFLAGS = $(CFLAGS)
30 # Compiler for building demos/tests/etc
34 # Misc tools and flags
36 MKLIB = $(SHELL) $(TOP)/bin/mklib
39 MKDEP_OPTIONS = -fdepend
43 PKG_CONFIG = pkg-config
45 # Use MINSTALL for installing libraries, INSTALL for everything else
46 MINSTALL = $(SHELL) $(TOP)/bin/minstall
49 # Tools for regenerating glapi (generally only needed by the developers)
51 PYTHON_FLAGS = -t -O -O
53 INDENT_FLAGS = -i4 -nut -br -brs -npcs -ce -T GLubyte -T GLbyte -T Bool
55 # Library names (base name)
61 GLESv1_CM_LIB = GLESv1_CM
65 WAYLAND_EGL_LIB = wayland-egl
68 # Library names (actual file names)
69 GL_LIB_NAME = lib$(GL_LIB).so
70 GLU_LIB_NAME = lib$(GLU_LIB).so
71 GLW_LIB_NAME = lib$(GLW_LIB).so
72 OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
73 EGL_LIB_NAME = lib$(EGL_LIB).so
74 GLESv1_CM_LIB_NAME = lib$(GLESv1_CM_LIB).so
75 GLESv2_LIB_NAME = lib$(GLESv2_LIB).so
76 VG_LIB_NAME = lib$(VG_LIB).so
77 GLAPI_LIB_NAME = lib$(GLAPI_LIB).so
78 WAYLAND_EGL_LIB_NAME = lib$(WAYLAND_EGL_LIB).so
79 GBM_LIB_NAME = lib$(GBM_LIB).so
81 # globs used to install the lib and all symlinks
82 GL_LIB_GLOB = $(GL_LIB_NAME)*
83 GLU_LIB_GLOB = $(GLU_LIB_NAME)*
84 GLW_LIB_GLOB = $(GLW_LIB_NAME)*
85 OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)*
86 EGL_LIB_GLOB = $(EGL_LIB_NAME)*
87 GLESv1_CM_LIB_GLOB = $(GLESv1_CM_LIB_NAME)*
88 GLESv2_LIB_GLOB = $(GLESv2_LIB_NAME)*
89 VG_LIB_GLOB = $(VG_LIB_NAME)*
90 GLAPI_LIB_GLOB = $(GLAPI_LIB_NAME)*
91 WAYLAND_EGL_LIB_GLOB = $(WAYLAND_EGL_LIB_NAME)*
92 GBM_LIB_GLOB = $(GBM_LIB_NAME)*
94 DRI_CFLAGS = $(CFLAGS)
95 DRI_CXXFLAGS = $(CXXFLAGS)
97 # Optional assembly language optimization files for libGL
100 # GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
101 # order to build the Motif widget too)
102 GLW_SOURCES = GLwDrawA.c
103 MOTIF_CFLAGS = -I/usr/include/Motif1.2
106 # Directories to build
108 SRC_DIRS = glsl mapi/glapi mapi/vgapi mesa \
109 gallium egl gallium/winsys gallium/targets glu
111 DRIVER_DIRS = x11 osmesa
113 # EGL drivers to build
114 EGL_DRIVERS_DIRS = glx
116 # gbm backends to build
117 GBM_BACKEND_DIRS = dri
119 # Gallium directories and
120 GALLIUM_DIRS = auxiliary drivers state_trackers
121 GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
122 GALLIUM_DRIVERS_DIRS = softpipe trace rbug noop identity galahad i915 svga r300 nvfx nv50
123 GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
124 GALLIUM_WINSYS_DIRS = sw sw/xlib
125 GALLIUM_TARGET_DIRS = libgl-xlib
126 GALLIUM_STATE_TRACKERS_DIRS = glx vega
128 # native platforms EGL should support
130 EGL_CLIENT_APIS = $(GL_LIB)
132 # Library dependencies
134 GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread
135 EGL_LIB_DEPS = $(EXTRA_LIB_PATH) -ldl -lpthread
136 OSMESA_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
137 GLU_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
138 GLW_LIB_DEPS = $(EXTRA_LIB_PATH) -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXt -lX11
139 GLESv1_CM_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
140 GLESv2_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
141 VG_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
142 GLAPI_LIB_DEPS = $(EXTRA_LIB_PATH) -lpthread
143 WAYLAND_EGL_LIB_DEPS = $(EXTRA_LIB_PATH) -lwayland-client -ldrm
144 GBM_LIB_DEPS = $(EXTRA_LIB_PATH) -ludev -ldl
146 # Program dependencies - specific GL libraries added in Makefiles
151 # Installation directories (for make install)
152 INSTALL_DIR = /usr/local
153 INSTALL_LIB_DIR = $(INSTALL_DIR)/$(LIB_DIR)
154 INSTALL_INC_DIR = $(INSTALL_DIR)/include
155 DRI_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/dri
157 # Where libGL will look for DRI hardware drivers
158 DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
160 # EGL driver install directory
161 EGL_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/egl
163 # gbm backend install directory
164 GBM_BACKEND_INSTALL_DIR = $(INSTALL_LIB_DIR)/gbm
166 # Xorg driver install directory (for xorg state-tracker)
167 XORG_DRIVER_INSTALL_DIR = $(INSTALL_LIB_DIR)/xorg/modules/drivers
169 # pkg-config substitutions
183 GLESv1_CM_PC_REQ_PRIV =
184 GLESv1_CM_PC_LIB_PRIV =
185 GLESv1_CM_PC_CFLAGS =
192 WAYLAND_EGL_PC_REQ_PRIV =
193 WAYLAND_EGL_PC_LIB_PRIV =
194 WAYLAND_EGL_PC_CFLAGS =