Home | History | Annotate | Line # | Download | only in gallium
Makefile revision 1.47
      1 # $NetBSD: Makefile,v 1.47 2021/05/30 01:57:00 joerg Exp $
      2 
      3 # Link the gallium mega driver.
      4 
      5 LIBISMODULE=	yes
      6 LIBISCXX=     yes
      7 
      8 .include <bsd.own.mk>
      9 
     10 SHLIB_MAJOR=    0
     11 
     12 LIB=		gallium_dri
     13 DRIDIR=		${X11USRLIBDIR}/modules/dri
     14 DRIDEBUGDIR=	${DEBUGDIR}${X11USRLIBDIR}/modules/dri
     15 
     16 LLVM_INCLUDE_OBJDIR!=	cd ${NETBSDSRCDIR}/external/apache2/llvm/include && ${PRINTOBJDIR}
     17 
     18 CWARNFLAGS.clang += -Wno-atomic-alignment -Wno-unknown-warning-option -Wno-implicit-int-float-conversion
     19 
     20 CXXFLAGS+=	-std=c++14
     21 CFLAGS+=	-std=gnu11
     22 CPPFLAGS+=	-I${DESTDIR}${X11INCDIR}/libdrm \
     23 		-I${NETBSDSRCDIR}/external/apache2/llvm/dist/llvm/include \
     24 		-I${LLVM_INCLUDE_OBJDIR} -I${NETBSDSRCDIR}/external/apache2/llvm/config
     25 
     26 CFLAGS+=	-pthread
     27 LDFLAGS+=	-pthread
     28 
     29 GALLIUM_SUBDIRS= \
     30 	auxiliary \
     31 	auxiliary/cso_cache \
     32 	auxiliary/draw \
     33 	auxiliary/driver_ddebug \
     34 	auxiliary/driver_noop \
     35 	auxiliary/driver_rbug \
     36 	auxiliary/driver_trace \
     37 	auxiliary/hud \
     38 	auxiliary/indices \
     39 	auxiliary/nir \
     40 	auxiliary/os \
     41 	auxiliary/pipebuffer \
     42 	auxiliary/pipe-loader \
     43 	auxiliary/postprocess \
     44 	auxiliary/rbug \
     45 	auxiliary/renderonly \
     46 	auxiliary/rtasm \
     47 	auxiliary/tgsi \
     48 	auxiliary/translate \
     49 	auxiliary/util \
     50 	auxiliary/vl \
     51 	drivers/noop \
     52 	drivers/rbug \
     53 	drivers/softpipe \
     54 	winsys/sw/dri \
     55 	winsys/sw/kms-dri \
     56 	winsys/sw/null \
     57 	winsys/sw/wrapper \
     58 	state_trackers/dri
     59 
     60 GALLIUM_SUBDIRS_VDPAU=	\
     61 	state_trackers/vdpau
     62 
     63 GALLIUM_SUBDIRS_LLVMPIPE= \
     64 	auxiliary/gallivm \
     65 	drivers/llvmpipe
     66 
     67 GALLIUM_SUBDIRS_ATI= \
     68 	drivers/radeon \
     69 	drivers/radeonsi \
     70 	drivers/r300 \
     71 	drivers/r300/compiler \
     72 	drivers/r600 \
     73 	drivers/r600/sb \
     74 	winsys/radeon/drm \
     75 	winsys/amdgpu/drm
     76 
     77 GALLIUM_SUBDIRS_I915= \
     78 	drivers/i915 \
     79 	winsys/i915/drm
     80 
     81 GALLIUM_SUBDIRS_NOUVEAU= \
     82 	drivers/nouveau \
     83 	drivers/nouveau/nv30 \
     84 	drivers/nouveau/nv50 \
     85 	drivers/nouveau/codegen \
     86 	drivers/nouveau/nvc0 \
     87 	winsys/nouveau/drm
     88 
     89 BUILD_RADEON=0
     90 BUILD_NOUVEAU=0
     91 BUILD_VDPAU=0
     92 BUILD_LLVMPIPE=0
     93 BUILD_I915=0
     94 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
     95 BUILD_I915=1
     96 .endif
     97 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || ${MACHINE} == "evbarm"
     98 BUILD_NOUVEAU=1
     99 . if ${MKLLVMRT} != "no"
    100 BUILD_RADEON=1
    101 . endif
    102 BUILD_VDPAU=1
    103 .endif
    104 
    105 .if ${MACHINE_ARCH} == "i386" || \
    106     ${MACHINE_ARCH} == "x86_64" || \
    107     ${MACHINE_ARCH} == "powerpc" || \
    108     ${MACHINE_ARCH} == "powerpc64" || \
    109     !empty(MACHINE_ARCH:Maarch64*) || \
    110     !empty(MACHINE_ARCH:Mmips*) || \
    111     !empty(MACHINE_ARCH:Mearm*) || \
    112     !empty(MACHINE_ARCH:Marm*)
    113 . if ${MKLLVMRT} != "no"
    114 BUILD_LLVMPIPE=1
    115 . endif
    116 .endif
    117 
    118 DRIVERS=		kms_swrast swrast
    119 .if ${BUILD_RADEON} == 1
    120 DRIVERS+=		r600 r300 radeonsi
    121 GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_ATI}
    122 .endif
    123 .if ${BUILD_NOUVEAU} == 1
    124 DRIVERS+=		nouveau
    125 GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_NOUVEAU}
    126 .endif
    127 .if ${BUILD_VDPAU} == 1
    128 GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_VDPAU}
    129 .endif
    130 .if ${BUILD_I915} == 1
    131 GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_I915}
    132 .endif
    133 .if ${BUILD_LLVMPIPE} == 1
    134 GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_LLVMPIPE}
    135 .endif
    136 
    137 GALLIUM_SOURCES.auxiliary/cso_cache= \
    138 	cso_cache.c \
    139 	cso_context.c \
    140 	cso_hash.c
    141 
    142 GALLIUM_SOURCES.auxiliary/draw= \
    143 	draw_context.c \
    144 	draw_fs.c \
    145 	draw_gs.c \
    146 	draw_pipe_aaline.c \
    147 	draw_pipe_aapoint.c \
    148 	draw_pipe.c \
    149 	draw_pipe_clip.c \
    150 	draw_pipe_cull.c \
    151 	draw_pipe_flatshade.c \
    152 	draw_pipe_offset.c \
    153 	draw_pipe_pstipple.c \
    154 	draw_pipe_stipple.c \
    155 	draw_pipe_twoside.c \
    156 	draw_pipe_unfilled.c \
    157 	draw_pipe_util.c \
    158 	draw_pipe_validate.c \
    159 	draw_pipe_vbuf.c \
    160 	draw_pipe_wide_line.c \
    161 	draw_pipe_wide_point.c \
    162 	draw_prim_assembler.c \
    163 	draw_pt.c \
    164 	draw_pt_emit.c \
    165 	draw_pt_fetch.c \
    166 	draw_pt_fetch_emit.c \
    167 	draw_pt_fetch_shade_emit.c \
    168 	draw_pt_fetch_shade_pipeline.c \
    169 	draw_pt_post_vs.c \
    170 	draw_pt_so_emit.c \
    171 	draw_pt_util.c \
    172 	draw_pt_vsplit.c \
    173 	draw_vertex.c \
    174 	draw_vs.c \
    175 	draw_vs_exec.c \
    176 	draw_vs_variant.c
    177 
    178 .if ${MKLLVMRT} != "no"
    179 GALLIUM_SOURCES.auxiliary/draw+= \
    180 	draw_llvm.c \
    181 	draw_llvm_sample.c \
    182 	draw_pt_fetch_shade_pipeline_llvm.c \
    183 	draw_vs_llvm.c
    184 .endif
    185 
    186 GALLIUM_SOURCES.auxiliary/hud= \
    187 	font.c \
    188 	hud_context.c \
    189 	hud_cpu.c \
    190 	hud_nic.c \
    191 	hud_cpufreq.c \
    192 	hud_diskstat.c \
    193 	hud_sensors_temp.c \
    194 	hud_fps.c \
    195 	hud_driver_query.c
    196 GALLIUM_SOURCES.auxiliary/indices= \
    197 	u_primconvert.c
    198 GALLIUM_SOURCES.auxiliary/os= \
    199 	os_process.c
    200 GALLIUM_SOURCES.auxiliary/pipe-loader= \
    201 	pipe_loader.c \
    202 	pipe_loader_drm.c \
    203 	pipe_loader_sw.c
    204 
    205 .for _f in ${GALLIUM_SOURCES.auxiliary/pipe-loader}
    206 CPPFLAGS.${_f} +=	-DHAVE_PIPE_LOADER_KMS=1 \
    207 			-DHAVE_PIPE_LOADER_DRI=1 \
    208 			-DGALLIUM_STATIC_TARGETS=1 \
    209 			-I${X11SRCDIR.Mesa}/src/gallium/winsys \
    210 			-I${X11SRCDIR.Mesa}/src/loader \
    211 			-I${X11SRCDIR.Mesa}/../src/util
    212 .endfor
    213 
    214 GALLIUM_SOURCES.auxiliary/pipebuffer= \
    215 	pb_buffer_fenced.c \
    216 	pb_bufmgr_cache.c \
    217 	pb_bufmgr_debug.c \
    218 	pb_bufmgr_mm.c \
    219 	pb_bufmgr_slab.c \
    220 	pb_cache.c \
    221 	pb_slab.c \
    222 	pb_validate.c
    223 GALLIUM_SOURCES.auxiliary/postprocess= \
    224 	pp_celshade.c \
    225 	pp_colors.c \
    226 	pp_init.c \
    227 	pp_mlaa.c \
    228 	pp_run.c \
    229 	pp_program.c
    230 GALLIUM_SOURCES.auxiliary/rbug= \
    231 	rbug_connection.c \
    232 	RBUGrbug_context.c \
    233 	RBUGrbug_core.c \
    234 	rbug_demarshal.c \
    235 	rbug_texture.c \
    236 	rbug_shader.c
    237 GALLIUM_SOURCES.auxiliary/rtasm= \
    238 	rtasm_cpu.c \
    239 	rtasm_execmem.c \
    240 	rtasm_x86sse.c
    241 GALLIUM_SOURCES.auxiliary/tgsi= \
    242 	tgsi_aa_point.c \
    243 	tgsi_build.c \
    244 	tgsi_dump.c \
    245 	tgsi_exec.c \
    246 	tgsi_emulate.c \
    247 	tgsi_from_mesa.c \
    248 	tgsi_info.c \
    249 	tgsi_iterate.c \
    250 	tgsi_lowering.c \
    251 	tgsi_parse.c \
    252 	tgsi_point_sprite.c \
    253 	tgsi_sanity.c \
    254 	tgsi_scan.c \
    255 	tgsi_strings.c \
    256 	tgsi_text.c \
    257 	tgsi_transform.c \
    258 	tgsi_two_side.c \
    259 	tgsi_ureg.c \
    260 	tgsi_util.c
    261 GALLIUM_SOURCES.auxiliary/translate= \
    262 	translate.c \
    263 	translate_cache.c \
    264 	translate_generic.c \
    265 	translate_sse.c
    266 GALLIUM_SOURCES.auxiliary/util= \
    267 	os_misc.c \
    268 	u_async_debug.c \
    269 	u_bitmask.c \
    270 	u_blit.c \
    271 	u_blitter.c \
    272 	u_cache.c \
    273 	u_debug.c \
    274 	u_debug_describe.c \
    275 	u_debug_flush.c \
    276 	u_debug_gallium.c \
    277 	u_debug_image.c \
    278 	u_debug_memory.c \
    279 	u_debug_refcnt.c \
    280 	u_debug_stack.c \
    281 	u_debug_symbol.c \
    282 	u_dl.c \
    283 	u_draw.c \
    284 	u_draw_quad.c \
    285 	u_dump_defines.c \
    286 	u_dump_state.c \
    287 	u_format.c \
    288 	u_format_bptc.c \
    289 	u_format_etc.c \
    290 	u_format_latc.c \
    291 	u_format_other.c \
    292 	u_format_rgtc.c \
    293 	u_format_s3tc.c \
    294 	u_format_tests.c \
    295 	u_format_yuv.c \
    296 	u_format_zs.c \
    297 	u_framebuffer.c \
    298 	u_gen_mipmap.c \
    299 	u_handle_table.c \
    300 	u_hash_table.c \
    301 	u_helpers.c \
    302 	u_idalloc.c \
    303 	u_index_modify.c \
    304 	u_linear.c \
    305 	u_log.c \
    306 	u_mm.c \
    307 	u_network.c \
    308 	u_prim.c \
    309 	u_prim_restart.c \
    310 	u_pstipple.c \
    311 	u_resource.c \
    312 	u_ringbuffer.c \
    313 	u_sampler.c \
    314 	u_screen.c \
    315 	u_simple_shaders.c \
    316 	u_suballoc.c \
    317 	u_surface.c \
    318 	u_surfaces.c \
    319 	u_tests.c \
    320 	u_texture.c \
    321 	u_tile.c \
    322 	u_transfer.c \
    323 	u_transfer_helper.c \
    324 	u_threaded_context.c \
    325 	u_upload_mgr.c \
    326 	u_vbuf.c
    327 GALLIUM_SOURCES.auxiliary/nir = \
    328 	tgsi_to_nir.c
    329 GALLIUM_SOURCES.auxiliary/vl= \
    330 	vl_bicubic_filter.c \
    331 	vl_compositor.c \
    332 	vl_compositor_cs.c \
    333 	vl_compositor_gfx.c \
    334 	vl_csc.c \
    335 	vl_decoder.c \
    336 	vl_deint_filter.c \
    337 	vl_idct.c \
    338 	vl_matrix_filter.c \
    339 	vl_mc.c \
    340 	vl_median_filter.c \
    341 	vl_mpeg12_bitstream.c \
    342 	vl_mpeg12_decoder.c \
    343 	vl_vertex_buffers.c \
    344 	vl_video_buffer.c \
    345 	vl_winsys_dri.c \
    346 	vl_zscan.c
    347 
    348 # Generated
    349 .PATH: ${X11SRCDIR.Mesa}/../src/gallium/auxiliary
    350 GALLIUM_SOURCES.auxiliary= \
    351 	u_indices_gen.c \
    352 	u_unfilled_gen.c \
    353 	u_format_table.c
    354 .for _f in ${GALLIUM_SOURCES.auxiliary/vl}
    355 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/loader
    356 .endfor
    357 .for _f in ${GALLIUM_SOURCES.auxiliary}
    358 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary/util
    359 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/util
    360 .endfor
    361 
    362 GALLIUM_SOURCES.auxiliary/renderonly= \
    363 	renderonly.c
    364 
    365 GALLIUM_SOURCES.auxiliary/gallivm= \
    366 	lp_bld_arit.c \
    367 	lp_bld_arit_overflow.c \
    368 	lp_bld_assert.c \
    369 	lp_bld_bitarit.c \
    370 	lp_bld_const.c \
    371 	lp_bld_conv.c \
    372 	lp_bld_flow.c \
    373 	lp_bld_format_aos_array.c \
    374 	lp_bld_format_aos.c \
    375 	lp_bld_format_float.c \
    376 	lp_bld_format.c \
    377 	lp_bld_format_soa.c \
    378 	lp_bld_format_s3tc.c \
    379 	lp_bld_format_srgb.c \
    380 	lp_bld_format_yuv.c \
    381 	lp_bld_gather.c \
    382 	lp_bld_init.c \
    383 	lp_bld_intr.c \
    384 	lp_bld_logic.c \
    385 	lp_bld_misc.cpp \
    386 	lp_bld_pack.c \
    387 	lp_bld_printf.c \
    388 	lp_bld_quad.c \
    389 	lp_bld_sample_aos.c \
    390 	lp_bld_sample.c \
    391 	lp_bld_sample_soa.c \
    392 	lp_bld_struct.c \
    393 	lp_bld_swizzle.c \
    394 	lp_bld_tgsi_action.c \
    395 	lp_bld_tgsi_aos.c \
    396 	lp_bld_tgsi.c \
    397 	lp_bld_tgsi_info.c \
    398 	lp_bld_tgsi_soa.c \
    399 	lp_bld_type.c
    400 	#lp_bld_debug.cpp
    401 
    402 .for _f in ${GALLIUM_SOURCES.auxiliary/gallivm}
    403 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary/util
    404 .endfor
    405 
    406 
    407 GALLIUM_SOURCES.auxiliary/driver_ddebug = \
    408         dd_context.c \
    409 	dd_draw.c \
    410 	dd_screen.c
    411 
    412 GALLIUM_SOURCES.auxiliary/driver_noop = \
    413         noop_pipe.c \
    414         noop_state.c
    415 
    416 GALLIUM_SOURCES.auxiliary/driver_trace = \
    417         tr_context.c \
    418         tr_dump.c \
    419         tr_dump_state.c \
    420         tr_screen.c \
    421         tr_texture.c
    422 
    423 GALLIUM_SOURCES.auxiliary/driver_rbug = \
    424         DRIVERrbug_core.c \
    425         DRIVERrbug_context.c \
    426         rbug_objects.c \
    427         rbug_screen.c
    428 # Conflicts with auxiliary/rbug/ files
    429 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/auxiliary/rbug/rbug_core.c		RBUGrbug_core.c
    430 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/auxiliary/rbug/rbug_context.c		RBUGrbug_context.c
    431 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/auxiliary/driver_rbug/rbug_core.c	DRIVERrbug_core.c
    432 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/auxiliary/driver_rbug/rbug_context.c	DRIVERrbug_context.c
    433 CPPFLAGS.DRIVERrbug_core.c+=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary
    434 CPPFLAGS.DRIVERrbug_core.c+=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary/driver_rbug
    435 CPPFLAGS.DRIVERrbug_core.c+=	-I${X11SRCDIR.Mesa}/src/gallium/drivers
    436 CPPFLAGS.DRIVERrbug_context.c+=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary
    437 CPPFLAGS.DRIVERrbug_context.c+=	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary/driver_rbug
    438 CPPFLAGS.DRIVERrbug_context.c+=	-I${X11SRCDIR.Mesa}/src/gallium/drivers
    439 
    440 GALLIUM_SOURCES.drivers/i915= \
    441 	i915_blit.c \
    442 	i915_clear.c \
    443 	i915_context.c \
    444 	i915_debug.c \
    445 	i915_debug_fp.c \
    446 	i915_flush.c \
    447 	i915_fpc_emit.c \
    448 	i915_fpc_optimize.c \
    449 	i915_fpc_translate.c \
    450 	i915_prim_emit.c \
    451 	i915_prim_vbuf.c \
    452 	i915_query.c \
    453 	i915_resource_buffer.c \
    454 	i915_resource.c \
    455 	i915_resource_texture.c \
    456 	i915_screen.c \
    457 	i915_state.c \
    458 	i915_state_derived.c \
    459 	i915_state_dynamic.c \
    460 	i915_state_emit.c \
    461 	i915_state_fpc.c \
    462 	i915_state_immediate.c \
    463 	i915_state_sampler.c \
    464 	i915_state_static.c \
    465 	i915_surface.c
    466 
    467 GALLIUM_SOURCES.winsys/i915/drm= \
    468 	i915_drm_batchbuffer.c \
    469 	i915_drm_buffer.c \
    470 	i915_drm_fence.c \
    471 	i915_drm_winsys.c
    472 
    473 # Conflicts with r600/radeon_video.c and radeon/radeon_video.c
    474 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/r600/radeon_video.c r600_radeon_video.c
    475 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/radeon/radeon_video.c radeon_radeon_video.c
    476 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/r600/radeon_vce.c r600_radeon_vce.c
    477 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/radeon/radeon_vce.c radeon_radeon_vce.c
    478 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/r600/radeon_uvd.c r600_radeon_uvd.c
    479 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/gallium/drivers/radeon/radeon_uvd.c radeon_radeon_uvd.c
    480 
    481 GALLIUM_SOURCES.drivers/radeon = \
    482         cayman_msaa.c \
    483         r600_buffer_common.c \
    484         r600_pipe_common.c \
    485         r600_query.c \
    486         r600_streamout.c \
    487         r600_texture.c \
    488         radeon_radeon_uvd.c \
    489 	radeon_uvd_enc.c \
    490 	radeon_uvd_enc_1_1.c \
    491         radeon_vce_40_2_2.c \
    492 	radeon_vce_50.c \
    493 	radeon_vce_52.c \
    494 	radeon_vcn_dec.c \
    495 	radeon_vcn_dec_jpeg.c \
    496 	radeon_vcn_enc.c \
    497 	radeon_vcn_enc_1_2.c \
    498         radeon_radeon_vce.c \
    499         radeon_radeon_video.c \
    500 
    501 GALLIUM_SOURCES.drivers/r600 = \
    502 	eg_debug.c \
    503 	r600_gpu_load.c \
    504 	r600_perfcounter.c \
    505 	r600_radeon_vce.c \
    506 	r600_radeon_video.c \
    507         compute_memory_pool.c \
    508 	r600_viewport.c \
    509         eg_asm.c \
    510         evergreen_compute.c \
    511         evergreen_hw_context.c \
    512         evergreen_state.c \
    513         r600_asm.c \
    514         r600_blit.c \
    515         r600_hw_context.c \
    516         r600_isa.c \
    517         r600_pipe.c \
    518         r600_shader.c \
    519         r600_state.c \
    520         r600_state_common.c \
    521         r600_uvd.c \
    522         r600_radeon_uvd.c \
    523 	r600_test_dma.c \
    524         r700_asm.c
    525 GALLIUM_SOURCES.drivers/r600/sb = \
    526         sb_bc_builder.cpp \
    527         sb_bc_decoder.cpp \
    528         sb_bc_dump.cpp \
    529         sb_bc_finalize.cpp \
    530         sb_bc_parser.cpp \
    531         sb_context.cpp \
    532         sb_core.cpp \
    533         sb_dce_cleanup.cpp \
    534         sb_def_use.cpp \
    535         sb_dump.cpp \
    536         sb_expr.cpp \
    537         sb_gcm.cpp \
    538         sb_gvn.cpp \
    539         sb_if_conversion.cpp \
    540         sb_ir.cpp \
    541         sb_liveness.cpp \
    542         sb_pass.cpp \
    543         sb_peephole.cpp \
    544         sb_psi_ops.cpp \
    545         sb_ra_checker.cpp \
    546         sb_ra_coalesce.cpp \
    547         sb_ra_init.cpp \
    548         sb_sched.cpp \
    549         sb_shader.cpp \
    550         sb_ssa_builder.cpp \
    551         sb_valtable.cpp
    552 
    553 GALLIUM_SOURCES.drivers/r300 = \
    554 	r300_blit.c \
    555 	r300_chipset.c \
    556 	r300_context.c \
    557 	r300_debug.c \
    558 	r300_emit.c \
    559 	r300_flush.c \
    560 	r300_fs.c \
    561 	r300_hyperz.c \
    562 	r300_query.c \
    563 	r300_render.c \
    564 	r300_render_stencilref.c \
    565 	r300_render_translate.c \
    566 	r300_resource.c \
    567 	r300_screen_buffer.c \
    568 	r300_screen.c \
    569 	r300_state.c \
    570 	r300_state_derived.c \
    571 	r300_texture.c \
    572 	r300_texture_desc.c \
    573 	r300_tgsi_to_rc.c \
    574 	r300_transfer.c \
    575 	r300_vs.c \
    576 	r300_vs_draw.c
    577 
    578 GALLIUM_SOURCES.drivers/r300/compiler = \
    579 	memory_pool.c \
    580 	r300_fragprog.c \
    581 	r300_fragprog_emit.c \
    582 	r300_fragprog_swizzle.c \
    583 	r3xx_fragprog.c \
    584 	r3xx_vertprog.c \
    585 	r3xx_vertprog_dump.c \
    586 	r500_fragprog.c \
    587 	r500_fragprog_emit.c \
    588 	radeon_code.c \
    589 	radeon_compiler.c \
    590 	radeon_compiler_util.c \
    591 	radeon_dataflow.c \
    592 	radeon_dataflow_deadcode.c \
    593 	radeon_dataflow_swizzles.c \
    594 	radeon_emulate_branches.c \
    595 	radeon_emulate_loops.c \
    596 	radeon_inline_literals.c \
    597 	radeon_list.c \
    598 	radeon_opcodes.c \
    599 	radeon_optimize.c \
    600 	radeon_pair_dead_sources.c \
    601 	radeon_pair_regalloc.c \
    602 	radeon_pair_schedule.c \
    603 	radeon_pair_translate.c \
    604 	radeon_program_alu.c \
    605 	radeon_program.c \
    606 	radeon_program_pair.c \
    607 	radeon_program_print.c \
    608 	radeon_program_tex.c \
    609 	radeon_remove_constants.c \
    610 	radeon_rename_regs.c \
    611 	radeon_variable.c \
    612 	radeon_vert_fc.c
    613 
    614 GALLIUM_SOURCES.drivers/radeonsi = \
    615 	cik_sdma.c \
    616 	si_blit.c \
    617 	si_buffer.c \
    618 	si_clear.c \
    619 	si_compute.c \
    620 	si_compute_blit.c \
    621 	si_cp_dma.c \
    622 	si_debug.c \
    623 	si_descriptors.c \
    624 	si_dma.c \
    625 	si_dma_cs.c \
    626 	si_fence.c \
    627 	si_get.c \
    628 	si_gfx_cs.c \
    629 	si_gpu_load.c \
    630 	si_pipe.c \
    631 	si_pm4.c \
    632 	si_perfcounter.c \
    633 	si_query.c \
    634 	si_shader.c \
    635 	si_shader_nir.c \
    636 	si_shader_tgsi_alu.c \
    637 	si_shader_tgsi_mem.c \
    638 	si_shader_tgsi_setup.c \
    639 	si_shaderlib_tgsi.c \
    640 	si_state.c \
    641 	si_state_binning.c \
    642 	si_state_draw.c \
    643 	si_state_msaa.c \
    644 	si_state_shaders.c \
    645 	si_state_streamout.c \
    646 	si_state_viewport.c \
    647 	si_test_dma.c \
    648 	si_test_dma_perf.c \
    649 	si_texture.c \
    650 	si_uvd.c
    651 
    652 .for _f in ${GALLIUM_SOURCES.drivers/radeon}
    653 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/radeon
    654 .endfor
    655 
    656 .for _f in ${GALLIUM_SOURCES.drivers/r300} ${GALLIUM_SOURCES.drivers/r300/compiler}
    657 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/r300 \
    658 			-I${X11SRCDIR.Mesa}/src/gallium/drivers/r300/compiler
    659 .endfor
    660 
    661 .for _f in ${GALLIUM_SOURCES.drivers/r600} ${GALLIUM_SOURCES.drivers/r600/sb} ${GALLIUM_SOURCES.drivers/radeonsi}
    662 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/r600
    663 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/../src/gallium/drivers/r600
    664 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/amd/common
    665 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/../src/amd/common
    666 .endfor
    667 
    668 .for _f in ${GALLIUM_SOURCES.drivers/radeon}
    669 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/radeonsi
    670 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/amd/common
    671 .endfor
    672 
    673 GALLIUM_SOURCES.drivers/nouveau = \
    674 	nouveau_buffer.c \
    675 	nouveau_fence.c \
    676 	nouveau_heap.c \
    677 	nouveau_mm.c \
    678 	nouveau_screen.c \
    679 	nouveau_video.c \
    680 	nouveau_vp3_video_bsp.c \
    681 	nouveau_vp3_video.c \
    682 	nouveau_vp3_video_vp.c
    683 
    684 GALLIUM_SOURCES.drivers/nouveau/nv30 = \
    685 	nv30_clear.c \
    686 	nv30_context.c \
    687 	nv30_draw.c \
    688 	nv30_format.c \
    689 	nv30_fragprog.c \
    690 	nv30_fragtex.c \
    691 	nv30_miptree.c \
    692 	nv30_push.c \
    693 	nv30_query.c \
    694 	nv30_resource.c \
    695 	nv30_screen.c \
    696 	nv30_state.c \
    697 	nv30_state_validate.c \
    698 	nv30_texture.c \
    699 	nv30_transfer.c \
    700 	nv30_vbo.c \
    701 	nv30_vertprog.c \
    702 	nv40_verttex.c \
    703 	nvfx_fragprog.c \
    704 	nvfx_vertprog.c
    705 
    706 GALLIUM_SOURCES.drivers/nouveau/nv50 = \
    707 	nv50_compute.c \
    708 	nv50_context.c \
    709 	nv50_formats.c \
    710 	nv50_miptree.c \
    711 	nv50_program.c \
    712 	nv50_push.c \
    713 	nv50_query.c \
    714 	nv50_query_hw.c \
    715 	nv50_query_hw_metric.c \
    716 	nv50_query_hw_sm.c \
    717 	nv50_resource.c \
    718 	nv50_screen.c \
    719 	nv50_shader_state.c \
    720 	nv50_state.c \
    721 	nv50_state_validate.c \
    722 	nv50_surface.c \
    723 	nv50_tex.c \
    724 	nv50_transfer.c \
    725 	nv50_vbo.c \
    726 	nv84_video_bsp.c \
    727 	nv84_video.c \
    728 	nv84_video_vp.c \
    729 	nv98_video_bsp.c \
    730 	nv98_video.c \
    731 	nv98_video_ppp.c \
    732 	nv98_video_vp.c
    733 
    734 GALLIUM_SOURCES.drivers/nouveau/codegen = \
    735 	nv50_ir.cpp \
    736 	nv50_ir_bb.cpp \
    737 	nv50_ir_build_util.cpp \
    738 	nv50_ir_emit_gk110.cpp \
    739 	nv50_ir_emit_gm107.cpp \
    740 	nv50_ir_emit_nv50.cpp \
    741 	nv50_ir_emit_nvc0.cpp \
    742 	nv50_ir_from_common.cpp \
    743 	nv50_ir_from_nir.cpp \
    744 	nv50_ir_from_tgsi.cpp \
    745 	nv50_ir_graph.cpp \
    746 	nv50_ir_lowering_gm107.cpp \
    747 	nv50_ir_lowering_helper.cpp \
    748 	nv50_ir_lowering_nv50.cpp \
    749 	nv50_ir_lowering_nvc0.cpp \
    750 	nv50_ir_peephole.cpp \
    751 	nv50_ir_print.cpp \
    752 	nv50_ir_ra.cpp \
    753 	nv50_ir_ssa.cpp \
    754 	nv50_ir_target.cpp \
    755 	nv50_ir_target_nv50.cpp \
    756 	nv50_ir_util.cpp \
    757 	nv50_ir_target_gm107.cpp \
    758 	nv50_ir_target_nvc0.cpp
    759 
    760 GALLIUM_SOURCES.drivers/nouveau/nvc0 = \
    761 	nvc0_compute.c \
    762 	nvc0_context.c \
    763 	nvc0_formats.c \
    764 	nvc0_miptree.c \
    765 	nvc0_resource.c \
    766 	nvc0_screen.c \
    767 	nvc0_state.c \
    768 	nvc0_state_validate.c \
    769 	nvc0_surface.c \
    770 	nvc0_tex.c \
    771 	nvc0_transfer.c \
    772 	nvc0_vbo.c \
    773 	nvc0_vbo_translate.c \
    774 	nvc0_program.c \
    775 	nvc0_shader_state.c \
    776 	nvc0_query.c \
    777 	nvc0_query_hw.c \
    778 	nvc0_query_hw_metric.c \
    779 	nvc0_query_hw_sm.c \
    780 	nvc0_query_sw.c \
    781 	nve4_compute.c \
    782 	nvc0_video.c \
    783 	nvc0_video_bsp.c \
    784 	nvc0_video_vp.c \
    785 	nvc0_video_ppp.c
    786 
    787 
    788 GALLIUM_SOURCES.winsys/nouveau/drm = \
    789         nouveau_drm_winsys.c
    790 
    791 .for _f in ${GALLIUM_SOURCES.drivers/nouveau} \
    792 	   ${GALLIUM_SOURCES.drivers/nouveau/nv30} \
    793 	   ${GALLIUM_SOURCES.drivers/nouveau/nv50} \
    794 	   ${GALLIUM_SOURCES.drivers/nouveau/codegen} \
    795 	   ${GALLIUM_SOURCES.drivers/nouveau/nvc0} \
    796 	   ${GALLIUM_SOURCES.winsys/nouveau/drm}
    797 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/drivers/nouveau \
    798 			-I${DESTDIR}${X11INCDIR}/libdrm/nouveau
    799 .endfor
    800 
    801 GALLIUM_SOURCES.winsys/radeon/drm = \
    802         radeon_drm_bo.c \
    803         radeon_drm_cs.c \
    804 	radeon_drm_surface.c \
    805         radeon_drm_winsys.c
    806 
    807 GALLIUM_SOURCES.winsys/amdgpu/drm = \
    808 	amdgpu_bo.c \
    809 	amdgpu_cs.c \
    810 	amdgpu_surface.c \
    811 	amdgpu_winsys.c
    812 
    813 .for _f in ${GALLIUM_SOURCES.winsys/amdgpu/drm}
    814 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/amd
    815 .endfor
    816 
    817 GALLIUM_SOURCES.state_trackers/vdpau = \
    818 	bitmap.c \
    819 	decode.c \
    820 	device.c \
    821 	ftab.c \
    822 	htab.c \
    823 	mixer.c \
    824 	output.c \
    825 	preemption.c \
    826 	presentation.c \
    827 	query.c \
    828 	surface.c
    829 
    830 GALLIUM_SOURCES.drivers/llvmpipe = \
    831 	lp_bld_alpha.c \
    832 	lp_bld_blend_aos.c \
    833 	lp_bld_blend.c \
    834 	lp_bld_blend_logicop.c \
    835 	lp_bld_depth.c \
    836 	lp_bld_interp.c \
    837 	lp_clear.c \
    838 	lp_context.c \
    839 	lp_draw_arrays.c \
    840 	lp_fence.c \
    841 	lp_flush.c \
    842 	lp_jit.c \
    843 	lp_memory.c \
    844 	lp_perf.c \
    845 	lp_query.c \
    846 	lp_rast.c \
    847 	lp_rast_debug.c \
    848 	lp_rast_tri.c \
    849 	lp_scene.c \
    850 	lp_scene_queue.c \
    851 	lp_screen.c \
    852 	lp_setup.c \
    853 	lp_setup_line.c \
    854 	lp_setup_point.c \
    855 	lp_setup_tri.c \
    856 	lp_setup_vbuf.c \
    857 	lp_state_blend.c \
    858 	lp_state_clip.c \
    859 	lp_state_derived.c \
    860 	lp_state_fs.c \
    861 	lp_state_gs.c \
    862 	lp_state_rasterizer.c \
    863 	lp_state_sampler.c \
    864 	lp_state_setup.c \
    865 	lp_state_so.c \
    866 	lp_state_surface.c \
    867 	lp_state_vertex.c \
    868 	lp_state_vs.c \
    869 	lp_surface.c \
    870 	lp_tex_sample.c \
    871 	lp_texture.c
    872 
    873 GALLIUM_SOURCES.drivers/softpipe = \
    874 	sp_buffer.c \
    875 	sp_clear.c \
    876 	sp_context.c \
    877 	sp_compute.c \
    878 	sp_draw_arrays.c \
    879 	sp_fence.c \
    880 	sp_flush.c \
    881 	sp_fs_exec.c \
    882 	sp_image.c \
    883 	sp_prim_vbuf.c \
    884 	sp_quad_blend.c \
    885 	sp_quad_depth_test.c \
    886 	sp_quad_fs.c \
    887 	sp_quad_pipe.c \
    888 	sp_quad_stipple.c \
    889 	sp_query.c \
    890 	sp_screen.c \
    891 	sp_setup.c \
    892 	sp_state_blend.c \
    893 	sp_state_clip.c \
    894 	sp_state_derived.c \
    895 	sp_state_image.c \
    896 	sp_state_rasterizer.c \
    897 	sp_state_sampler.c \
    898 	sp_state_shader.c \
    899 	sp_state_so.c \
    900 	sp_state_surface.c \
    901 	sp_state_vertex.c \
    902 	sp_surface.c \
    903 	sp_tex_sample.c \
    904 	sp_tex_tile_cache.c \
    905 	sp_texture.c \
    906 	sp_tile_cache.c
    907 
    908 GALLIUM_SOURCES.winsys/sw/null = \
    909 	null_sw_winsys.c
    910 
    911 GALLIUM_SOURCES.winsys/sw/wrapper = \
    912 	wrapper_sw_winsys.c
    913 
    914 GALLIUM_SOURCES.winsys/sw/dri = \
    915 	dri_sw_winsys.c
    916 
    917 GALLIUM_SOURCES.winsys/sw/kms-dri = \
    918 	kms_dri_sw_winsys.c
    919 
    920 GALLIUM_SOURCES.state_trackers/dri = \
    921         dri_context.c \
    922         dri_drawable.c \
    923 	dri_helpers.c \
    924         dri_query_renderer.c \
    925         dri_screen.c \
    926 	drisw.c \
    927 	dri2.c
    928 .for _f in ${GALLIUM_SOURCES.state_trackers/dri}
    929 CPPFLAGS.${_f} +=	-I${X11SRCDIR.Mesa}/src/gallium/state_trackers/dri/common
    930 .endfor
    931 
    932 # missing
    933 CPPFLAGS+=	\
    934 	-DGALLIUM_SOFTPIPE \
    935 	-DGALLIUM_STATIC_TARGETS=1 \
    936 	-DMESA_EGL_NO_X11_HEADERS
    937 
    938 .for _d in ${GALLIUM_SUBDIRS}
    939 SRCS+=	${GALLIUM_SOURCES.${_d}}
    940 .PATH: ${X11SRCDIR.Mesa}/src/gallium/${_d}
    941 . for _s in ${GALLIUM_SOURCES.${_d}}
    942 CPPFLAGS.${_s}+= -I${X11SRCDIR.Mesa}/src/gallium/${_d}
    943 . endfor
    944 .endfor
    945 
    946 #. if defined(${GALLIUM_SOURCES.${_d}})
    947 #SRCS+=	${GALLIUM_SOURCES.${_d}}
    948 #. endif
    949 
    950 .include "../libloader.mk"
    951 
    952 .if ${BUILD_RADEON} == 1
    953 CFLAGS+=	-pthread
    954 LDFLAGS+=	-pthread
    955 .endif
    956 
    957 LIBDPLIBS+=	X11-xcb         ${.CURDIR}/../libX11/libX11-xcb
    958 LIBDPLIBS+=	xcb-dri2        ${.CURDIR}/../libxcb/dri2
    959 LIBDPLIBS+=	xcb		${.CURDIR}/../libxcb/libxcb
    960 .if ${BUILD_RADEON} == 1 || ${BUILD_NOUVEAU} == 1
    961 LIBDPLIBS+= 	drm		${.CURDIR}/../libdrm
    962 .if ${BUILD_I915} == 1
    963 LIBDPLIBS+= 	drm_intel	${.CURDIR}/../libdrm_intel
    964 .endif
    965 .if ${BUILD_RADEON} == 1
    966 LIBDPLIBS+= 	drm_radeon	${.CURDIR}/../libdrm_radeon
    967 LIBDPLIBS+= 	drm_amdgpu	${.CURDIR}/../libdrm_amdgpu
    968 .endif	# ${BUILD_RADEON} == 1
    969 .if ${BUILD_NOUVEAU} == 1
    970 LIBDPLIBS+= 	drm_nouveau	${.CURDIR}/../libdrm_nouveau
    971 .endif	# ${BUILD_NOUVEAU} == 1
    972 .endif	# ${BUILD_RADEON} == 1 || ${BUILD_NOUVEAU} == 1
    973 LIBDPLIBS+= 	glapi		${.CURDIR}/../libglapi
    974 LIBDPLIBS+=	expat		${.CURDIR}/../../../../../external/mit/expat/lib/libexpat
    975 LIBDPLIBS+=	terminfo	${.CURDIR}/../../../../../lib/libterminfo
    976 LIBDPLIBS+=	execinfo	${.CURDIR}/../../../../../lib/libexecinfo
    977 
    978 LIBDPLIBS+=	elf		${NETBSDSRCDIR}/external/bsd/elftoolchain/lib/libelf
    979 LIBDPLIBS+=	z		${.CURDIR}/../../../../../lib/libz
    980 LIBDPLIBS+=	m		${.CURDIR}/../../../../../lib/libm
    981 
    982 # gallium drivers requiring LLVM
    983 .if ${BUILD_LLVMPIPE} == 1 || ${BUILD_RADEON} == 1
    984 
    985 LLVMRT_LIBS=	\
    986 		MCJIT \
    987 		ExecutionEngine \
    988 		ExecutionEngineOrcTargetProcess \
    989 		ExecutionEngineOrcShared \
    990 		Orc \
    991 		RuntimeDyld
    992 
    993 .if ${BUILD_RADEON} == 1
    994 LLVMRT_LIBS+=	\
    995 		AMDGPUCodeGen \
    996 		AMDGPUMCTargetDesc \
    997 		AMDGPUTargetInfo \
    998 		AMDGPUAsmParser \
    999 		AMDGPUUtils
   1000 .endif
   1001 
   1002 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
   1003 # XXX duplicates
   1004 LLVMRT_LIBS+=	\
   1005 		X86Disassembler \
   1006 		X86CodeGen \
   1007 		X86MCTargetDesc \
   1008 		X86Disassembler \
   1009 		X86MCTargetDesc \
   1010 		X86TargetInfo
   1011 .endif
   1012 
   1013 .if ${MACHINE_CPU} == "aarch64"
   1014 LLVMRT_LIBS+=	\
   1015 		AArch64AsmParser \
   1016 		AArch64CodeGen \
   1017 		AArch64MCTargetDesc \
   1018 		AArch64Utils \
   1019 		AArch64Disassembler \
   1020 		AArch64TargetInfo
   1021 .endif
   1022 
   1023 .if ${MACHINE_CPU} == "arm"
   1024 LLVMRT_LIBS+=	\
   1025 		ARMCodeGen \
   1026 		ARMDisassembler \
   1027 		ARMTargetInfo \
   1028 		ARMMCTargetDesc \
   1029 		ARMAsmParser \
   1030 		ARMUtils
   1031 .endif
   1032 
   1033 .if ${MACHINE_CPU} == "mips"
   1034 LLVMRT_LIBS+=	\
   1035 		MipsCodeGen \
   1036 		MipsDisassembler \
   1037 		MipsAsmParser \
   1038 		MipsMCTargetDesc \
   1039 		MipsTargetInfo
   1040 .endif
   1041 
   1042 .if ${MACHINE_CPU} == "powerpc"
   1043 LLVMRT_LIBS+=	\
   1044 		PowerPCCodeGen \
   1045 		PowerPCDisassembler \
   1046 		PowerPCTargetInfo \
   1047 		PowerPCMCTargetDesc \
   1048 		PowerPCAsmParser
   1049 .endif
   1050 
   1051 LLVMRT_LIBS+=	\
   1052 		Passes \
   1053 		TransformsCoroutines \
   1054 		ObjCARC \
   1055 		GlobalISel \
   1056 		MCDisassembler \
   1057 		SelectionDAG \
   1058 		AsmPrinter \
   1059 		CodeGen \
   1060 		TransformsCFGuard \
   1061 		Target \
   1062 		InstCombine \
   1063 		ScalarOpts \
   1064 		DebugInfoCodeView \
   1065 		DebugInfoDWARF \
   1066 		Object \
   1067 		BitReader \
   1068 		TextAPI \
   1069 		MIRParser \
   1070 		MCParser \
   1071 		MC \
   1072 		ipo \
   1073 		BitWriter \
   1074 		FrontendOpenMP \
   1075 		Instrumentation \
   1076 		IRReader \
   1077 		AsmParser \
   1078 		Vectorize \
   1079 		TransformsAggressiveInstCombine \
   1080 		ProfileData \
   1081 		TransformsUtils \
   1082 		Analysis \
   1083 		IR \
   1084 		Remarks \
   1085 		BitstreamReader \
   1086 		Linker \
   1087 		BinaryFormat \
   1088 		Support \
   1089 		Demangle
   1090 
   1091 .include "${NETBSDSRCDIR}/external/apache2/llvm/link.mk"
   1092 
   1093 .endif  # ${BUILD_LLVM_PIPE} == 1 || ${BUILD_RADEON} == 1
   1094 
   1095 LDFLAGS+=	-Wl,--version-script=${X11SRCDIR.Mesa}/src/gallium/targets/dri/dri.sym
   1096 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || ${MACHINE_CPU} == "aarch64"
   1097 LDFLAGS+=	-Wl,-z,defs
   1098 .endif
   1099 
   1100 ##  build mesagallium parts
   1101 MESA_SRC_MODULES=  main math vbo state_tracker program asm_s
   1102 .if ${BUILD_RADEON} == 1
   1103 MESA_SRC_MODULES+= amd
   1104 .endif
   1105 
   1106 .include "../libmesa.mk"
   1107 .include "../libglsl.mk"
   1108 
   1109 # Special addition for just gallium; it misses the rest of asm_c files.
   1110 .PATH: ${X11SRCDIR.Mesa}/src/mesa/x86
   1111 SRCS+=	common_x86.c
   1112 
   1113 .if ${MACHINE} == "amd64" || ${MACHINE} == "i386"
   1114 SRCS+=	streaming-load-memcpy.c
   1115 CPPFLAGS.streaming-load-memcpy.c+= -msse4.1
   1116 .endif
   1117 
   1118 # Needs 64bit atomics
   1119 CPPFLAGS.i386+= -march=i586
   1120 CPPFLAGS+=	${CPPFLAGS.${XORG_MACHINE_ARCH:U${MACHINE_ARCH}}}
   1121 
   1122 CPPFLAGS.r600_pipe_common.c+=	-DMESA_LLVM_VERSION_STRING=\"${LLVM_VERSION}\"
   1123 CPPFLAGS.si_get.c+=	-DMESA_LLVM_VERSION_STRING=\"${LLVM_VERSION}\"
   1124 
   1125 .include "../driver.mk"
   1126 
   1127 
   1128 .PATH: ${X11SRCDIR.Mesa}/src/gallium/targets/dri
   1129 SRCS+=	target.c
   1130 
   1131 CPPFLAGS+= \
   1132 	-I${X11SRCDIR.Mesa}/src/gallium/include \
   1133 	-I${X11SRCDIR.Mesa}/src/gallium/auxiliary \
   1134 	-I${X11SRCDIR.Mesa}/src/gallium/drivers \
   1135 	-I${X11SRCDIR.Mesa}/../src/mesa/drivers/dri/common
   1136 
   1137 CPPFLAGS.target.c += \
   1138 	-DDRI_TARGET \
   1139 	-DGALLIUM_NOOP \
   1140 	-DGALLIUM_RBUG \
   1141 	-DGALLIUM_TRACE \
   1142 	-DGALLIUM_SOFTPIPE \
   1143 	-I${X11SRCDIR.Mesa}/src/gallium/state_trackers/dri \
   1144 	-I${X11SRCDIR.Mesa}/src/loader \
   1145 	-I${X11SRCDIR.Mesa}/../src/util \
   1146 	-I${X11SRCDIR.Mesa}/../src/gallium/drivers \
   1147 	-I${X11SRCDIR.Mesa}/src/gallium/winsys
   1148 
   1149 .if ${BUILD_LLVMPIPE} == 1
   1150 CPPFLAGS.target.c += \
   1151 	-DGALLIUM_LLVMPIPE
   1152 .endif  #${BUILD_LLVMPIPE} == 1
   1153 
   1154 .if ${BUILD_I915} == 1
   1155 CPPFLAGS.target.c += \
   1156 	-DGALLIUM_I915 \
   1157 	-DGALLIUM_ILO
   1158 .endif
   1159 
   1160 .if ${BUILD_RADEON} == 1
   1161 CPPFLAGS.target.c += \
   1162 	-DGALLIUM_R200 \
   1163 	-DGALLIUM_R300 \
   1164 	-DGALLIUM_R600 \
   1165 	-DGALLIUM_RADEONSI
   1166 .endif	# ${BUILD_RADEON} == 1
   1167 
   1168 .if ${BUILD_NOUVEAU} == 1
   1169 CPPFLAGS.target.c += \
   1170 	-DGALLIUM_NOUVEAU
   1171 .endif	# ${BUILD_NOUVEAU} == 1
   1172 
   1173 CWARNFLAGS.clang+=	-Wno-error=constant-conversion \
   1174 			-Wno-error=tautological-constant-out-of-range-compare \
   1175 			-Wno-error=pointer-sign \
   1176 			-Wno-error=switch \
   1177 			-Wno-error=absolute-value \
   1178 			-Wno-error=tautological-compare \
   1179 			-Wno-error=static-in-inline \
   1180 			-Wno-error=logical-not-parentheses \
   1181 			-Wno-error=constant-logical-operand \
   1182 			-Wno-error=unknown-warning-option \
   1183 			-Wno-error=typedef-redefinition \
   1184 			-Wno-error=enum-conversion # https://bugs.freedesktop.org/show_bug.cgi?id=109761
   1185 
   1186 CWARNFLAGS+=		-Wno-error=stack-protector
   1187 
   1188 .include <bsd.x11.mk>
   1189 LIBDIR=		${X11USRLIBDIR}/modules/dri
   1190 
   1191 .for _d in ${DRIVERS}
   1192 SYMLINKS+= gallium_dri.so ${DRIDIR}/${_d}_dri.so
   1193 SYMLINKS+= gallium_dri.so.${SHLIB_MAJOR} ${DRIDIR}/${_d}_dri.so.${SHLIB_MAJOR} 
   1194 .if ${MKDEBUG} != "no"
   1195 SYMLINKS+= gallium_dri.so.${SHLIB_MAJOR}.debug ${DRIDEBUGDIR}/${_d}_dri.so.${SHLIB_MAJOR}.debug
   1196 .endif
   1197 .endfor
   1198 
   1199 .if ${MACHINE_ARCH} == "sparc" || ${COMMON_MACHINE_ARCH:U} == "sparc"
   1200 COPTS+=	${${ACTIVE_CC} == "clang":? -Wa,-Av8plus  :}
   1201 .endif
   1202 
   1203 .if ${MACHINE_ARCH} == "vax"
   1204 COPTS.nir.c += -O1
   1205 .endif
   1206 
   1207 COPTS.u_atomic.c+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-builtin-declaration-mismatch :}
   1208 
   1209 .include <bsd.lib.mk>
   1210 # Don't regenerate c files
   1211 .y.c:
   1212