1 1.26 gson # $NetBSD: Makefile,v 1.26 2015/01/05 18:51:10 gson Exp $ 2 1.13 mrg 3 1.19 mrg # Link the mesa_dri_drivers mega driver. 4 1.1 cube 5 1.19 mrg .include <bsd.own.mk> 6 1.19 mrg 7 1.19 mrg .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 8 1.19 mrg 9 1.19 mrg LIBISMODULE= yes 10 1.19 mrg LIBISCXX= yes 11 1.19 mrg 12 1.19 mrg SHLIB_MAJOR= 0 13 1.19 mrg 14 1.19 mrg LIB= mesa_dri_drivers 15 1.19 mrg DRIDIR= ${X11USRLIBDIR}/modules/dri 16 1.23 christos DRIDEBUGDIR= ${DEBUGDIR}${X11USRLIBDIR}/modules/dri 17 1.19 mrg 18 1.19 mrg # -I${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/${MODULE}/server \ 19 1.19 mrg 20 1.19 mrg CPPFLAGS+= \ 21 1.19 mrg -I${X11SRCDIR.MesaLib}/src/egl/main \ 22 1.19 mrg -I${X11SRCDIR.MesaLib}/src/egl/drivers/dri \ 23 1.19 mrg -I${X11SRCDIR.MesaLib}/../src/mesa/drivers/dri/common \ 24 1.19 mrg -I${DESTDIR}${X11INCDIR}/libdrm 25 1.19 mrg 26 1.19 mrg #CPPFLAGS+= -D_NETBSD_SOURCE -DPTHREADS 27 1.19 mrg 28 1.19 mrg # We don't actually build this on non-x86 at all, currently. 29 1.21 christos # The following if statements are not effective since we only 30 1.21 christos # get here for x86 31 1.10 abs .if ${MACHINE_ARCH} == "alpha" 32 1.19 mrg DRIVERS= r200 radeon 33 1.17 mrg .elif ${MACHINE} == "macppc" || ${MACHINE} == "ofppc" 34 1.19 mrg DRIVERS= r200 radeon 35 1.10 abs .elif ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "sparc" 36 1.19 mrg DRIVERS= r200 radeon 37 1.10 abs .elif ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 38 1.19 mrg DRIVERS= i915 i965 r200 radeon 39 1.16 kiyohara .elif ${MACHINE} == "prep" || ${MACHINE} == "bebox" 40 1.19 mrg DRIVERS= r200 radeon 41 1.19 mrg .endif 42 1.19 mrg 43 1.19 mrg DRI_SUBDIRS= ${DRIVERS} 44 1.19 mrg 45 1.19 mrg DRI_SOURCES.i915 = \ 46 1.19 mrg i830_context.c \ 47 1.19 mrg i830_state.c \ 48 1.19 mrg i830_texblend.c \ 49 1.19 mrg i830_texstate.c \ 50 1.19 mrg i830_vtbl.c \ 51 1.19 mrg i915_tex_layout.c \ 52 1.19 mrg i915_texstate.c \ 53 1.19 mrg i915_context.c \ 54 1.19 mrg i915_debug_fp.c \ 55 1.19 mrg i915_fragprog.c \ 56 1.19 mrg i915_program.c \ 57 1.19 mrg i915_state.c \ 58 1.19 mrg i915_vtbl.c \ 59 1.19 mrg 60 1.19 mrg I915_INTEL_FILES = \ 61 1.19 mrg intel_render.c \ 62 1.19 mrg intel_regions.c \ 63 1.19 mrg intel_buffer_objects.c \ 64 1.19 mrg intel_batchbuffer.c \ 65 1.19 mrg intel_clear.c \ 66 1.19 mrg intel_extensions.c \ 67 1.19 mrg intel_mipmap_tree.c \ 68 1.19 mrg intel_tex_layout.c \ 69 1.19 mrg intel_tex_image.c \ 70 1.19 mrg intel_tex_subimage.c \ 71 1.19 mrg intel_tex_copy.c \ 72 1.19 mrg intel_tex_validate.c \ 73 1.19 mrg intel_tex.c \ 74 1.19 mrg intel_pixel.c \ 75 1.19 mrg intel_pixel_bitmap.c \ 76 1.19 mrg intel_pixel_copy.c \ 77 1.19 mrg intel_pixel_draw.c \ 78 1.19 mrg intel_pixel_read.c \ 79 1.19 mrg intel_buffers.c \ 80 1.19 mrg intel_blit.c \ 81 1.19 mrg intel_context.c \ 82 1.19 mrg intel_screen.c \ 83 1.19 mrg intel_state.c \ 84 1.19 mrg intel_syncobj.c \ 85 1.19 mrg intel_tris.c \ 86 1.19 mrg intel_fbo.c 87 1.19 mrg 88 1.19 mrg .for _f in ${I915_INTEL_FILES} 89 1.19 mrg BUILDSYMLINKS+= ${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/i915/${_f} i915_${_f} 90 1.19 mrg DRI_SOURCES.i915+= i915_${_f} 91 1.19 mrg CPPFLAGS.i915_${_f}+= -I${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/i915 92 1.19 mrg .endfor 93 1.19 mrg 94 1.19 mrg DRI_SOURCES.i965 = \ 95 1.19 mrg brw_binding_tables.c \ 96 1.19 mrg brw_blorp.cpp \ 97 1.19 mrg brw_blorp_blit.cpp \ 98 1.19 mrg brw_blorp_blit_eu.cpp \ 99 1.19 mrg brw_cc.c \ 100 1.19 mrg brw_cfg.cpp \ 101 1.19 mrg brw_clear.c \ 102 1.19 mrg brw_clip.c \ 103 1.19 mrg brw_clip_line.c \ 104 1.19 mrg brw_clip_point.c \ 105 1.19 mrg brw_clip_state.c \ 106 1.19 mrg brw_clip_tri.c \ 107 1.19 mrg brw_clip_unfilled.c \ 108 1.19 mrg brw_clip_util.c \ 109 1.19 mrg brw_context.c \ 110 1.19 mrg brw_cubemap_normalize.cpp \ 111 1.19 mrg brw_curbe.c \ 112 1.19 mrg brw_dead_control_flow.cpp \ 113 1.19 mrg brw_device_info.c \ 114 1.19 mrg brw_disasm.c \ 115 1.19 mrg brw_draw.c \ 116 1.19 mrg brw_draw_upload.c \ 117 1.19 mrg brw_eu.c \ 118 1.19 mrg brw_eu_compact.c \ 119 1.19 mrg brw_eu_emit.c \ 120 1.19 mrg brw_eu_util.c \ 121 1.19 mrg brw_fs.cpp \ 122 1.19 mrg brw_fs_channel_expressions.cpp \ 123 1.19 mrg brw_fs_copy_propagation.cpp \ 124 1.19 mrg brw_fs_cse.cpp \ 125 1.19 mrg brw_fs_dead_code_eliminate.cpp \ 126 1.19 mrg brw_fs_fp.cpp \ 127 1.19 mrg brw_fs_generator.cpp \ 128 1.19 mrg brw_fs_live_variables.cpp \ 129 1.19 mrg brw_fs_peephole_predicated_break.cpp \ 130 1.19 mrg brw_fs_reg_allocate.cpp \ 131 1.19 mrg brw_fs_register_coalesce.cpp \ 132 1.19 mrg brw_fs_saturate_propagation.cpp \ 133 1.19 mrg brw_fs_sel_peephole.cpp \ 134 1.19 mrg brw_fs_vector_splitting.cpp \ 135 1.19 mrg brw_fs_visitor.cpp \ 136 1.19 mrg brw_gs.c \ 137 1.19 mrg brw_gs_emit.c \ 138 1.19 mrg brw_gs_state.c \ 139 1.19 mrg brw_gs_surface_state.c \ 140 1.19 mrg brw_gs.c \ 141 1.19 mrg brw_gs_emit.c \ 142 1.19 mrg brw_gs_state.c \ 143 1.19 mrg brw_gs_surface_state.c \ 144 1.19 mrg brw_interpolation_map.c \ 145 1.19 mrg brw_lower_texture_gradients.cpp \ 146 1.19 mrg brw_lower_unnormalized_offset.cpp \ 147 1.19 mrg brw_meta_updownsample.c \ 148 1.19 mrg brw_meta_stencil_blit.c \ 149 1.19 mrg brw_meta_util.c \ 150 1.19 mrg brw_meta_fast_clear.c \ 151 1.19 mrg brw_misc_state.c \ 152 1.19 mrg brw_object_purgeable.c \ 153 1.19 mrg brw_performance_monitor.c \ 154 1.19 mrg brw_program.c \ 155 1.19 mrg brw_primitive_restart.c \ 156 1.19 mrg brw_queryobj.c \ 157 1.19 mrg brw_reset.c \ 158 1.19 mrg brw_sampler_state.c \ 159 1.19 mrg brw_schedule_instructions.cpp \ 160 1.19 mrg brw_sf.c \ 161 1.19 mrg brw_sf_emit.c \ 162 1.19 mrg brw_sf_state.c \ 163 1.19 mrg brw_shader.cpp \ 164 1.19 mrg brw_state_batch.c \ 165 1.19 mrg brw_state_cache.c \ 166 1.19 mrg brw_state_dump.c \ 167 1.19 mrg brw_state_upload.c \ 168 1.19 mrg brw_surface_formats.c \ 169 1.19 mrg brw_tex.c \ 170 1.19 mrg brw_tex_layout.c \ 171 1.19 mrg brw_urb.c \ 172 1.19 mrg brw_util.c \ 173 1.19 mrg brw_vec4.cpp \ 174 1.19 mrg brw_vec4_copy_propagation.cpp \ 175 1.19 mrg brw_vec4_cse.cpp \ 176 1.19 mrg brw_vec4_generator.cpp \ 177 1.19 mrg brw_vec4_gs.c \ 178 1.19 mrg brw_vec4_gs_visitor.cpp \ 179 1.19 mrg brw_vec4_live_variables.cpp \ 180 1.19 mrg brw_vec4_reg_allocate.cpp \ 181 1.19 mrg brw_vec4_visitor.cpp \ 182 1.19 mrg brw_vec4_vp.cpp \ 183 1.19 mrg brw_vec4_vs_visitor.cpp \ 184 1.19 mrg brw_vs.c \ 185 1.19 mrg brw_vs_state.c \ 186 1.19 mrg brw_vs_surface_state.c \ 187 1.19 mrg brw_wm.c \ 188 1.19 mrg brw_wm_iz.cpp \ 189 1.19 mrg brw_wm_state.c \ 190 1.19 mrg brw_wm_surface_state.c \ 191 1.19 mrg gen6_blorp.cpp \ 192 1.19 mrg gen6_cc.c \ 193 1.19 mrg gen6_clip_state.c \ 194 1.19 mrg gen6_depth_state.c \ 195 1.19 mrg gen6_depthstencil.c \ 196 1.19 mrg gen6_gs_state.c \ 197 1.19 mrg gen6_multisample_state.c \ 198 1.19 mrg gen6_queryobj.c \ 199 1.19 mrg gen6_sampler_state.c \ 200 1.19 mrg gen6_scissor_state.c \ 201 1.19 mrg gen6_sf_state.c \ 202 1.19 mrg gen6_sol.c \ 203 1.19 mrg gen6_surface_state.c \ 204 1.19 mrg gen6_urb.c \ 205 1.19 mrg gen6_viewport_state.c \ 206 1.19 mrg gen6_vs_state.c \ 207 1.19 mrg gen6_wm_state.c \ 208 1.19 mrg gen7_blorp.cpp \ 209 1.19 mrg gen7_disable.c \ 210 1.19 mrg gen7_gs_state.c \ 211 1.19 mrg gen7_misc_state.c \ 212 1.19 mrg gen7_sf_state.c \ 213 1.19 mrg gen7_sol_state.c \ 214 1.19 mrg gen7_urb.c \ 215 1.19 mrg gen7_viewport_state.c \ 216 1.19 mrg gen7_vs_state.c \ 217 1.19 mrg gen7_wm_state.c \ 218 1.19 mrg gen7_wm_surface_state.c \ 219 1.19 mrg gen8_blend_state.c \ 220 1.19 mrg gen8_depth_state.c \ 221 1.19 mrg gen8_disable.c \ 222 1.19 mrg gen8_draw_upload.c \ 223 1.19 mrg gen8_gs_state.c \ 224 1.19 mrg gen8_misc_state.c \ 225 1.19 mrg gen8_multisample_state.c \ 226 1.19 mrg gen8_sf_state.c \ 227 1.19 mrg gen8_sol_state.c \ 228 1.19 mrg gen8_surface_state.c \ 229 1.19 mrg gen8_viewport_state.c \ 230 1.19 mrg gen8_vs_state.c \ 231 1.19 mrg gen8_wm_depth_stencil.c \ 232 1.19 mrg gen8_ps_state.c 233 1.19 mrg 234 1.19 mrg I965_INTEL_FILES = \ 235 1.19 mrg intel_asm_annotation.c \ 236 1.19 mrg intel_batchbuffer.c \ 237 1.19 mrg intel_blit.c \ 238 1.19 mrg intel_buffer_objects.c \ 239 1.19 mrg intel_buffers.c \ 240 1.19 mrg intel_copy_image.c \ 241 1.19 mrg intel_debug.c \ 242 1.19 mrg intel_extensions.c \ 243 1.19 mrg intel_fbo.c \ 244 1.19 mrg intel_mipmap_tree.c \ 245 1.19 mrg intel_resolve_map.c \ 246 1.19 mrg intel_screen.c \ 247 1.19 mrg intel_pixel.c \ 248 1.19 mrg intel_pixel_bitmap.c \ 249 1.19 mrg intel_pixel_copy.c \ 250 1.19 mrg intel_pixel_draw.c \ 251 1.19 mrg intel_pixel_read.c \ 252 1.19 mrg intel_state.c \ 253 1.19 mrg intel_syncobj.c \ 254 1.19 mrg intel_tex.c \ 255 1.19 mrg intel_tex_copy.c \ 256 1.19 mrg intel_tex_image.c \ 257 1.19 mrg intel_tex_subimage.c \ 258 1.19 mrg intel_tex_validate.c \ 259 1.19 mrg intel_upload.c \ 260 1.19 mrg 261 1.19 mrg .for _f in ${I965_INTEL_FILES} 262 1.19 mrg BUILDSYMLINKS+= ${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/i965/${_f} i965_${_f} 263 1.19 mrg DRI_SOURCES.i965+= i965_${_f} 264 1.19 mrg CPPFLAGS.i965_${_f} += -I${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/i965 265 1.19 mrg .endfor 266 1.19 mrg 267 1.19 mrg DRI_SOURCES.r200 = \ 268 1.19 mrg r200_context.c \ 269 1.19 mrg r200_ioctl.c \ 270 1.19 mrg r200_state.c \ 271 1.19 mrg r200_state_init.c \ 272 1.19 mrg r200_cmdbuf.c \ 273 1.19 mrg r200_tex.c \ 274 1.19 mrg r200_texstate.c \ 275 1.19 mrg r200_tcl.c \ 276 1.19 mrg r200_swtcl.c \ 277 1.19 mrg r200_maos.c \ 278 1.19 mrg r200_sanity.c \ 279 1.19 mrg r200_fragshader.c \ 280 1.19 mrg r200_vertprog.c \ 281 1.19 mrg r200_blit.c \ 282 1.19 mrg 283 1.19 mrg R200_RADEON_FILES= \ 284 1.19 mrg radeon_buffer_objects.c \ 285 1.19 mrg radeon_common_context.c \ 286 1.19 mrg radeon_common.c \ 287 1.19 mrg radeon_dma.c \ 288 1.19 mrg radeon_debug.c \ 289 1.19 mrg radeon_fbo.c \ 290 1.19 mrg radeon_fog.c \ 291 1.19 mrg radeon_mipmap_tree.c \ 292 1.19 mrg radeon_pixel_read.c \ 293 1.19 mrg radeon_queryobj.c \ 294 1.19 mrg radeon_span.c \ 295 1.19 mrg radeon_texture.c \ 296 1.19 mrg radeon_tex_copy.c \ 297 1.19 mrg radeon_tile.c \ 298 1.19 mrg radeon_screen.c 299 1.19 mrg 300 1.19 mrg .for _f in ${R200_RADEON_FILES} 301 1.20 mrg BUILDSYMLINKS+= ${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/radeon/${_f} r200_${_f} 302 1.19 mrg DRI_SOURCES.r200+= r200_${_f} 303 1.19 mrg .endfor 304 1.19 mrg 305 1.19 mrg .for _f in ${DRI_SOURCES.r200} 306 1.19 mrg CPPFLAGS.${_f} += -I${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/r200/server \ 307 1.19 mrg -I${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/r200 \ 308 1.20 mrg -I${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/radeon/server \ 309 1.20 mrg -I${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/radeon \ 310 1.19 mrg -DRADEON_R200 311 1.19 mrg .endfor 312 1.19 mrg 313 1.19 mrg DRI_SOURCES.radeon = \ 314 1.19 mrg radeon_buffer_objects.c \ 315 1.19 mrg radeon_common_context.c \ 316 1.19 mrg radeon_common.c \ 317 1.19 mrg radeon_dma.c \ 318 1.19 mrg radeon_debug.c \ 319 1.19 mrg radeon_fbo.c \ 320 1.19 mrg radeon_fog.c \ 321 1.19 mrg radeon_mipmap_tree.c \ 322 1.19 mrg radeon_pixel_read.c \ 323 1.19 mrg radeon_queryobj.c \ 324 1.19 mrg radeon_span.c \ 325 1.19 mrg radeon_texture.c \ 326 1.19 mrg radeon_tex_copy.c \ 327 1.19 mrg radeon_tile.c \ 328 1.19 mrg radeon_context.c \ 329 1.19 mrg radeon_ioctl.c \ 330 1.19 mrg radeon_screen.c \ 331 1.19 mrg radeon_state.c \ 332 1.19 mrg radeon_state_init.c \ 333 1.19 mrg radeon_tex.c \ 334 1.19 mrg radeon_texstate.c \ 335 1.19 mrg radeon_tcl.c \ 336 1.19 mrg radeon_swtcl.c \ 337 1.19 mrg radeon_maos.c \ 338 1.19 mrg radeon_sanity.c \ 339 1.19 mrg radeon_blit.c 340 1.19 mrg 341 1.19 mrg .for _f in ${DRI_SOURCES.radeon} 342 1.19 mrg CPPFLAGS.${_f} += -I${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/radeon/server \ 343 1.19 mrg -I${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/radeon \ 344 1.19 mrg -DRADEON_R100 345 1.19 mrg .endfor 346 1.19 mrg 347 1.19 mrg .for _d in ${DRI_SUBDIRS} 348 1.19 mrg SRCS+= ${DRI_SOURCES.${_d}} 349 1.19 mrg .PATH: ${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/${_d} 350 1.19 mrg .endfor 351 1.19 mrg 352 1.19 mrg LIBDPLIBS+= expat ${NETBSDSRCDIR}/external/mit/expat/lib/libexpat 353 1.19 mrg LIBDPLIBS+= m ${NETBSDSRCDIR}/lib/libm 354 1.19 mrg LIBDPLIBS+= glapi ${.CURDIR}/../libglapi 355 1.19 mrg LIBDPLIBS+= drm ${.CURDIR}/../libdrm 356 1.19 mrg .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 357 1.19 mrg LIBDPLIBS+= drm_intel ${.CURDIR}/../libdrm_intel 358 1.2 macallan .endif 359 1.19 mrg LIBDPLIBS+= drm_radeon ${.CURDIR}/../libdrm_radeon 360 1.1 cube 361 1.19 mrg MESA_SRC_MODULES= main math math_xform vbo tnl swrast ss common asm_c program asm_s 362 1.19 mrg .include "../libmesa.mk" 363 1.19 mrg .include "../libglsl.mk" 364 1.19 mrg 365 1.21 christos .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 366 1.19 mrg SRCS+= streaming-load-memcpy.c 367 1.19 mrg CPPFLAGS.streaming-load-memcpy.c+= -msse4.1 368 1.19 mrg .endif 369 1.19 mrg 370 1.19 mrg .include "../driver.mk" 371 1.19 mrg 372 1.19 mrg .for _d in ${DRIVERS} 373 1.23 christos SYMLINKS+= mesa_dri_drivers.so.${SHLIB_MAJOR} ${DRIDIR}/${_d}_dri.so.${SHLIB_MAJOR} 374 1.19 mrg SYMLINKS+= ${_d}_dri.so.${SHLIB_MAJOR} ${DRIDIR}/${_d}_dri.so 375 1.26 gson .if ${MKDEBUG} != "no" 376 1.23 christos SYMLINKS+= mesa_dri_drivers.so.${SHLIB_MAJOR}.debug ${DRIDEBUGDIR}/${_d}_dri.so.${SHLIB_MAJOR}.debug 377 1.23 christos .endif 378 1.19 mrg .endfor 379 1.19 mrg 380 1.19 mrg .endif 381 1.12 mrg 382 1.18 mrg PKGCONFIG= dri 383 1.18 mrg PKGDIST.dri= ${X11SRCDIR.MesaLib}/src/mesa/drivers/dri 384 1.18 mrg .include "${.CURDIR}/../libGL/mesa-ver.mk" 385 1.18 mrg PKGCONFIG_VERSION.dri= ${MESA_VER} 386 1.18 mrg 387 1.19 mrg # XXX remove these from bsd.x11.mk 388 1.19 mrg PKGCONFIG_SED_FLAGS= \ 389 1.19 mrg -e "s,@DRI_DRIVER_INSTALL_DIR@,${X11USRLIBDIR}/modules/dri,; \ 390 1.19 mrg s,@DRI_PC_REQ_PRIV@,," 391 1.19 mrg 392 1.19 mrg FILESDIR= /etc 393 1.19 mrg FILES= drirc 394 1.19 mrg 395 1.19 mrg .PATH: ${X11SRCDIR.MesaLib}/src/mesa/drivers/dri/common 396 1.19 mrg 397 1.18 mrg .include <bsd.x11.mk> 398 1.21 christos .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 399 1.19 mrg LIBDIR= ${X11USRLIBDIR}/modules/dri 400 1.19 mrg 401 1.24 joerg CWARNFLAGS.clang+= -Wno-error=initializer-overrides -Wno-error=switch \ 402 1.24 joerg -Wno-error=tautological-constant-out-of-range-compare 403 1.24 joerg 404 1.19 mrg .include <bsd.lib.mk> 405 1.22 christos .else 406 1.22 christos .include <bsd.inc.mk> 407 1.21 christos .endif 408 1.25 christos # Don't re-build .c files when .y files change 409 1.25 christos .y.c: 410