Home | History | Annotate | Line # | Download | only in gallium
Makefile revision 1.17
      1 # $NetBSD: Makefile,v 1.17 2016/11/29 23:17:22 dholland 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 CXXFLAGS+=	-std=c++11
     17 CPPFLAGS+=	-I${DESTDIR}${X11INCDIR}/libdrm
     18 
     19 GALLIUM_SUBDIRS= \
     20 	auxiliary \
     21 	auxiliary/cso_cache \
     22 	auxiliary/draw \
     23 	auxiliary/hud \
     24 	auxiliary/indices \
     25 	auxiliary/os \
     26 	auxiliary/pipebuffer \
     27 	auxiliary/postprocess \
     28 	auxiliary/rbug \
     29 	auxiliary/rtasm \
     30 	auxiliary/tgsi \
     31 	auxiliary/translate \
     32 	auxiliary/util \
     33 	auxiliary/vl \
     34 	drivers/galahad \
     35 	drivers/identity \
     36 	drivers/noop \
     37 	drivers/trace \
     38 	drivers/rbug \
     39 	drivers/softpipe \
     40 	winsys/sw/null \
     41 	winsys/sw/dri \
     42 	winsys/sw/kms-dri \
     43 	state_trackers/dri
     44 
     45 GALLIUM_SUBDIRS_ATI= \
     46 	drivers/radeon \
     47 	drivers/r600 \
     48 	drivers/r600/sb \
     49 	winsys/radeon/drm
     50 
     51 GALLIUM_SUBDIRS_NOUVEAU= \
     52 	drivers/nouveau \
     53 	drivers/nouveau/nv30 \
     54 	drivers/nouveau/nv50 \
     55 	drivers/nouveau/codegen \
     56 	drivers/nouveau/nvc0 \
     57 	winsys/nouveau/drm
     58 
     59 BUILD_RADEON=0
     60 BUILD_NOUVEAU=0
     61 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
     62 BUILD_RADEON=1
     63 .endif
     64 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || ${MACHINE} == "evbarm"
     65 BUILD_NOUVEAU=1
     66 .endif
     67 
     68 DRIVERS=		kms_swrast swrast
     69 .if ${BUILD_RADEON} == 1
     70 DRIVERS+=		r600
     71 GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_ATI}
     72 .endif
     73 .if ${BUILD_NOUVEAU} == 1
     74 DRIVERS+=		nouveau
     75 GALLIUM_SUBDIRS+=	${GALLIUM_SUBDIRS_NOUVEAU}
     76 .endif
     77 
     78 GALLIUM_SOURCES.auxiliary/cso_cache= \
     79 	cso_cache.c \
     80 	cso_context.c \
     81 	cso_hash.c
     82 GALLIUM_SOURCES.auxiliary/draw= \
     83 	draw_context.c \
     84 	draw_fs.c \
     85 	draw_gs.c \
     86 	draw_pipe.c \
     87 	draw_pipe_aaline.c \
     88 	draw_pipe_aapoint.c \
     89 	draw_pipe_clip.c \
     90 	draw_pipe_cull.c \
     91 	draw_pipe_flatshade.c \
     92 	draw_pipe_offset.c \
     93 	draw_pipe_pstipple.c \
     94 	draw_pipe_stipple.c \
     95 	draw_pipe_twoside.c \
     96 	draw_pipe_unfilled.c \
     97 	draw_pipe_util.c \
     98 	draw_pipe_validate.c \
     99 	draw_pipe_vbuf.c \
    100 	draw_pipe_wide_line.c \
    101 	draw_pipe_wide_point.c \
    102 	draw_prim_assembler.c \
    103 	draw_pt.c \
    104 	draw_pt_emit.c \
    105 	draw_pt_fetch.c \
    106 	draw_pt_fetch_emit.c \
    107 	draw_pt_fetch_shade_emit.c \
    108 	draw_pt_fetch_shade_pipeline.c \
    109 	draw_pt_post_vs.c \
    110 	draw_pt_so_emit.c \
    111 	draw_pt_util.c \
    112 	draw_pt_vsplit.c \
    113 	draw_vertex.c \
    114 	draw_vs.c \
    115 	draw_vs_exec.c \
    116 	draw_vs_variant.c
    117 GALLIUM_SOURCES.auxiliary/hud= \
    118 	font.c \
    119 	hud_context.c \
    120 	hud_cpu.c \
    121 	hud_fps.c \
    122 	hud_driver_query.c
    123 GALLIUM_SOURCES.auxiliary/indices= \
    124 	u_primconvert.c
    125 GALLIUM_SOURCES.auxiliary/os= \
    126 	os_misc.c \
    127 	os_process.c \
    128 	os_time.c
    129 GALLIUM_SOURCES.auxiliary/pipebuffer= \
    130 	pb_buffer_fenced.c \
    131 	pb_buffer_malloc.c \
    132 	pb_bufmgr_alt.c \
    133 	pb_bufmgr_cache.c \
    134 	pb_bufmgr_debug.c \
    135 	pb_bufmgr_mm.c \
    136 	pb_bufmgr_ondemand.c \
    137 	pb_bufmgr_pool.c \
    138 	pb_bufmgr_slab.c \
    139 	pb_validate.c
    140 GALLIUM_SOURCES.auxiliary/postprocess= \
    141 	pp_celshade.c \
    142 	pp_colors.c \
    143 	pp_init.c \
    144 	pp_mlaa.c \
    145 	pp_run.c \
    146 	pp_program.c
    147 GALLIUM_SOURCES.auxiliary/rbug= \
    148 	rbug_connection.c \
    149 	rbug_context.c \
    150 	rbug_core.c \
    151 	rbug_demarshal.c \
    152 	rbug_texture.c \
    153 	rbug_shader.c
    154 GALLIUM_SOURCES.auxiliary/rtasm= \
    155 	rtasm_cpu.c \
    156 	rtasm_execmem.c \
    157 	rtasm_x86sse.c
    158 GALLIUM_SOURCES.auxiliary/tgsi= \
    159 	tgsi_build.c \
    160 	tgsi_dump.c \
    161 	tgsi_exec.c \
    162 	tgsi_info.c \
    163 	tgsi_iterate.c \
    164 	tgsi_parse.c \
    165 	tgsi_sanity.c \
    166 	tgsi_scan.c \
    167 	tgsi_strings.c \
    168 	tgsi_text.c \
    169 	tgsi_transform.c \
    170 	tgsi_ureg.c \
    171 	tgsi_util.c
    172 GALLIUM_SOURCES.auxiliary/translate= \
    173 	translate.c \
    174 	translate_cache.c \
    175 	translate_generic.c \
    176 	translate_sse.c
    177 GALLIUM_SOURCES.auxiliary/util= \
    178 	u_debug.c \
    179 	u_debug_describe.c \
    180 	u_debug_flush.c \
    181 	u_debug_memory.c \
    182 	u_debug_refcnt.c \
    183 	u_debug_stack.c \
    184 	u_debug_symbol.c \
    185 	u_dump_defines.c \
    186 	u_dump_state.c \
    187 	u_bitmask.c \
    188 	u_blit.c \
    189 	u_blitter.c \
    190 	u_cache.c \
    191 	u_caps.c \
    192 	u_cpu_detect.c \
    193 	u_dl.c \
    194 	u_draw.c \
    195 	u_draw_quad.c \
    196 	u_format.c \
    197 	u_format_other.c \
    198 	u_format_latc.c \
    199 	u_format_s3tc.c \
    200 	u_format_rgtc.c \
    201 	u_format_etc.c \
    202 	u_format_bptc.c \
    203 	u_format_tests.c \
    204 	u_format_yuv.c \
    205 	u_format_zs.c \
    206 	u_framebuffer.c \
    207 	u_gen_mipmap.c \
    208 	u_handle_table.c \
    209 	u_hash.c \
    210 	u_hash_table.c \
    211 	u_helpers.c \
    212 	u_index_modify.c \
    213 	u_keymap.c \
    214 	u_linear.c \
    215 	u_linkage.c \
    216 	u_network.c \
    217 	u_math.c \
    218 	u_mm.c \
    219 	u_pstipple.c \
    220 	u_ringbuffer.c \
    221 	u_sampler.c \
    222 	u_simple_shaders.c \
    223 	u_slab.c \
    224 	u_snprintf.c \
    225 	u_staging.c \
    226 	u_suballoc.c \
    227 	u_surface.c \
    228 	u_surfaces.c \
    229 	u_texture.c \
    230 	u_tile.c \
    231 	u_transfer.c \
    232 	u_resource.c \
    233 	u_upload_mgr.c \
    234 	u_vbuf.c
    235 GALLIUM_SOURCES.auxiliary/vl= \
    236 	vl_csc.c \
    237 	vl_compositor.c \
    238 	vl_matrix_filter.c \
    239 	vl_median_filter.c \
    240 	vl_decoder.c \
    241 	vl_mpeg12_decoder.c \
    242 	vl_mpeg12_bitstream.c \
    243 	vl_zscan.c \
    244 	vl_idct.c \
    245 	vl_mc.c \
    246 	vl_vertex_buffers.c \
    247 	vl_video_buffer.c \
    248 	vl_deint_filter.c
    249 
    250 # Generated
    251 .PATH: ${X11SRCDIR.MesaLib}/../src/gallium/auxiliary
    252 GALLIUM_SOURCES.auxiliary= \
    253 	u_indices_gen.c \
    254 	u_unfilled_gen.c \
    255 	u_format_table.c
    256 .for _f in ${GALLIUM_SOURCES.auxiliary}
    257 CPPFLAGS.${_f} +=	-I${X11SRCDIR.MesaLib}/src/gallium/auxiliary/util
    258 .endfor
    259 
    260 GALLIUM_SOURCES.drivers/galahad= \
    261 	glhd_objects.c \
    262 	glhd_context.c \
    263 	glhd_screen.c
    264 
    265 GALLIUM_SOURCES.drivers/identity = \
    266         id_objects.c \
    267         id_context.c \
    268         id_screen.c
    269 
    270 GALLIUM_SOURCES.drivers/noop = \
    271         noop_pipe.c \
    272         noop_state.c
    273 
    274 GALLIUM_SOURCES.drivers/trace = \
    275         tr_context.c \
    276         tr_dump.c \
    277         tr_dump_state.c \
    278         tr_screen.c \
    279         tr_texture.c
    280 
    281 GALLIUM_SOURCES.drivers/rbug = \
    282         DRIVERrbug_core.c \
    283         DRIVERrbug_context.c \
    284         rbug_objects.c \
    285         rbug_screen.c
    286 # Conflicts with auxiliary/rbug/ files
    287 BUILDSYMLINKS+=	${X11SRCDIR.MesaLib}/src/gallium/drivers/rbug/rbug_core.c    DRIVERrbug_core.c
    288 BUILDSYMLINKS+=	${X11SRCDIR.MesaLib}/src/gallium/drivers/rbug/rbug_context.c DRIVERrbug_context.c
    289 CPPFLAGS.DRIVERrbug_core.c+=	-I${X11SRCDIR.MesaLib}/src/gallium/auxiliary
    290 CPPFLAGS.DRIVERrbug_core.c+=	-I${X11SRCDIR.MesaLib}/src/gallium/drivers/rbug
    291 CPPFLAGS.DRIVERrbug_core.c+=	-I${X11SRCDIR.MesaLib}/src/gallium/drivers
    292 CPPFLAGS.DRIVERrbug_context.c+=	-I${X11SRCDIR.MesaLib}/src/gallium/auxiliary
    293 CPPFLAGS.DRIVERrbug_context.c+=	-I${X11SRCDIR.MesaLib}/src/gallium/drivers/rbug
    294 CPPFLAGS.DRIVERrbug_context.c+=	-I${X11SRCDIR.MesaLib}/src/gallium/drivers
    295 
    296 GALLIUM_SOURCES.drivers/radeon = \
    297         cayman_msaa.c \
    298         r600_buffer_common.c \
    299         r600_pipe_common.c \
    300         r600_query.c \
    301         r600_streamout.c \
    302         r600_texture.c \
    303         radeon_video.c \
    304         radeon_uvd.c \
    305         radeon_vce.c \
    306         radeon_vce_40_2_2.c
    307 #LLVM_C_FILES := \
    308 #        radeon_elf_util.c \
    309 #        radeon_setup_tgsi_llvm.c \
    310 #        radeon_llvm_emit.c \
    311 #        radeon_llvm_util.c
    312 
    313 GALLIUM_SOURCES.drivers/r600 = \
    314         r600_asm.c \
    315         r600_blit.c \
    316         r600_hw_context.c \
    317         r600_isa.c \
    318         r600_pipe.c \
    319         r600_shader.c \
    320         r600_state.c \
    321         r700_asm.c \
    322         evergreen_hw_context.c \
    323         evergreen_state.c \
    324         eg_asm.c \
    325         r600_state_common.c \
    326         evergreen_compute.c \
    327         compute_memory_pool.c \
    328         r600_uvd.c
    329 GALLIUM_SOURCES.drivers/r600/sb = \
    330         sb_bc_builder.cpp \
    331         sb_bc_decoder.cpp \
    332         sb_bc_dump.cpp \
    333         sb_bc_finalize.cpp \
    334         sb_bc_parser.cpp \
    335         sb_context.cpp \
    336         sb_core.cpp \
    337         sb_dce_cleanup.cpp \
    338         sb_def_use.cpp \
    339         sb_dump.cpp \
    340         sb_expr.cpp \
    341         sb_gcm.cpp \
    342         sb_gvn.cpp \
    343         sb_if_conversion.cpp \
    344         sb_ir.cpp \
    345         sb_liveness.cpp \
    346         sb_pass.cpp \
    347         sb_peephole.cpp \
    348         sb_psi_ops.cpp \
    349         sb_ra_checker.cpp \
    350         sb_ra_coalesce.cpp \
    351         sb_ra_init.cpp \
    352         sb_sched.cpp \
    353         sb_shader.cpp \
    354         sb_ssa_builder.cpp \
    355         sb_valtable.cpp
    356 #LLVM_C_SOURCES = r600_llvm.c
    357 
    358 .for _f in ${GALLIUM_SOURCES.drivers/r600} ${GALLIUM_SOURCES.drivers/r600/sb}
    359 CPPFLAGS.${_f} +=	-I${X11SRCDIR.MesaLib}/src/gallium/drivers/r600
    360 .endfor
    361 
    362 GALLIUM_SOURCES.drivers/nouveau = \
    363 	nouveau_screen.c \
    364 	nouveau_fence.c \
    365 	nouveau_mm.c \
    366 	nouveau_buffer.c \
    367 	nouveau_heap.c \
    368 	nouveau_video.c \
    369 	nouveau_vp3_video.c \
    370 	nouveau_vp3_video_bsp.c \
    371 	nouveau_vp3_video_vp.c
    372 
    373 GALLIUM_SOURCES.drivers/nouveau/nv30 = \
    374 	nv30_screen.c \
    375 	nv30_context.c \
    376 	nv30_format.c \
    377 	nv30_resource.c \
    378 	nv30_transfer.c \
    379 	nv30_miptree.c \
    380 	nv30_state.c \
    381 	nv30_state_validate.c \
    382 	nv30_texture.c \
    383 	nv30_fragtex.c \
    384 	nv40_verttex.c \
    385 	nv30_fragprog.c \
    386 	nv30_vertprog.c \
    387 	nv30_clear.c \
    388 	nv30_vbo.c \
    389 	nv30_push.c \
    390 	nv30_draw.c \
    391 	nv30_query.c \
    392 	nvfx_vertprog.c \
    393 	nvfx_fragprog.c
    394 
    395 GALLIUM_SOURCES.drivers/nouveau/nv50 = \
    396 	nv50_context.c \
    397 	nv50_formats.c \
    398 	nv50_miptree.c \
    399 	nv50_resource.c \
    400 	nv50_screen.c \
    401 	nv50_state.c \
    402 	nv50_state_validate.c \
    403 	nv50_surface.c \
    404 	nv50_tex.c \
    405 	nv50_transfer.c \
    406 	nv50_vbo.c \
    407 	nv50_program.c \
    408 	nv50_shader_state.c \
    409 	nv50_push.c \
    410 	nv50_query.c \
    411 	nv84_video.c \
    412 	nv84_video_bsp.c \
    413 	nv84_video_vp.c \
    414 	nv98_video.c \
    415 	nv98_video_bsp.c \
    416 	nv98_video_vp.c \
    417 	nv98_video_ppp.c
    418 
    419 GALLIUM_SOURCES.drivers/nouveau/codegen = \
    420 	nv50_ir.cpp \
    421 	nv50_ir_bb.cpp \
    422 	nv50_ir_build_util.cpp \
    423 	nv50_ir_emit_nv50.cpp \
    424 	nv50_ir_from_tgsi.cpp \
    425 	nv50_ir_graph.cpp \
    426 	nv50_ir_lowering_nv50.cpp \
    427 	nv50_ir_peephole.cpp \
    428 	nv50_ir_print.cpp \
    429 	nv50_ir_ra.cpp \
    430 	nv50_ir_ssa.cpp \
    431 	nv50_ir_target.cpp \
    432 	nv50_ir_target_nv50.cpp \
    433 	nv50_ir_util.cpp \
    434 	nv50_ir_emit_nvc0.cpp \
    435 	nv50_ir_emit_gk110.cpp \
    436 	nv50_ir_emit_gm107.cpp \
    437 	nv50_ir_lowering_nvc0.cpp \
    438 	nv50_ir_lowering_gm107.cpp \
    439 	nv50_ir_target_nvc0.cpp \
    440 	nv50_ir_target_gm107.cpp
    441 
    442 GALLIUM_SOURCES.drivers/nouveau/nvc0 = \
    443 	nvc0_compute.c \
    444 	nvc0_context.c \
    445 	nvc0_formats.c \
    446 	nvc0_miptree.c \
    447 	nvc0_resource.c \
    448 	nvc0_screen.c \
    449 	nvc0_state.c \
    450 	nvc0_state_validate.c \
    451 	nvc0_surface.c \
    452 	nvc0_tex.c \
    453 	nvc0_transfer.c \
    454 	nvc0_vbo.c \
    455 	nvc0_vbo_translate.c \
    456 	nvc0_program.c \
    457 	nvc0_shader_state.c \
    458 	nvc0_query.c \
    459 	nve4_compute.c \
    460 	nvc0_video.c \
    461 	nvc0_video_bsp.c \
    462 	nvc0_video_vp.c \
    463 	nvc0_video_ppp.c
    464 
    465 .for _f in ${GALLIUM_SOURCES.drivers/nouveau} \
    466 	   ${GALLIUM_SOURCES.drivers/nouveau/nv30} \
    467 	   ${GALLIUM_SOURCES.drivers/nouveau/nv50} \
    468 	   ${GALLIUM_SOURCES.drivers/nouveau/codegen} \
    469 	   ${GALLIUM_SOURCES.drivers/nouveau/nvc0}
    470 CPPFLAGS.${_f} +=	-I${X11SRCDIR.MesaLib}/src/gallium/drivers/nouveau
    471 .endfor
    472 
    473 
    474 GALLIUM_SOURCES.winsys/radeon/drm = \
    475         radeon_drm_bo.c \
    476         radeon_drm_cs.c \
    477         radeon_drm_cs_dump.c \
    478         radeon_drm_winsys.c
    479 
    480 GALLIUM_SOURCES.winsys/nouveau/drm = \
    481         nouveau_drm_winsys.c
    482 
    483 GALLIUM_SOURCES.drivers/softpipe = \
    484         sp_fs_exec.c \
    485         sp_clear.c \
    486         sp_fence.c \
    487         sp_flush.c \
    488         sp_query.c \
    489         sp_context.c \
    490         sp_draw_arrays.c \
    491         sp_prim_vbuf.c \
    492         sp_quad_pipe.c \
    493         sp_quad_stipple.c \
    494         sp_quad_depth_test.c \
    495         sp_quad_fs.c \
    496         sp_quad_blend.c \
    497         sp_screen.c \
    498         sp_setup.c \
    499         sp_state_blend.c \
    500         sp_state_clip.c \
    501         sp_state_derived.c \
    502         sp_state_sampler.c \
    503         sp_state_shader.c \
    504         sp_state_so.c \
    505         sp_state_rasterizer.c \
    506         sp_state_surface.c \
    507         sp_state_vertex.c \
    508         sp_texture.c \
    509         sp_tex_sample.c \
    510         sp_tex_tile_cache.c \
    511         sp_tile_cache.c \
    512         sp_surface.c
    513 
    514 GALLIUM_SOURCES.winsys/sw/null = \
    515 	null_sw_winsys.c
    516 
    517 GALLIUM_SOURCES.winsys/sw/dri = \
    518 	dri_sw_winsys.c
    519 
    520 GALLIUM_SOURCES.winsys/sw/kms-dri = \
    521 	kms_dri_sw_winsys.c
    522 
    523 GALLIUM_SOURCES.state_trackers/dri = \
    524         dri_context.c \
    525         dri_drawable.c \
    526         dri_query_renderer.c \
    527         dri_screen.c \
    528 	drisw.c \
    529 	dri2.c
    530 .for _f in ${GALLIUM_SOURCES.state_trackers/dri}
    531 CPPFLAGS.${_f} +=	-I${X11SRCDIR.MesaLib}/src/gallium/state_trackers/dri/common
    532 .endfor
    533 
    534 # missing
    535 CPPFLAGS+=	\
    536 	-DGALLIUM_SOFTPIPE \
    537 	-DGALLIUM_STATIC_TARGETS=1 \
    538 	-DMESA_EGL_NO_X11_HEADERS
    539 
    540 .for _d in ${GALLIUM_SUBDIRS}
    541 SRCS+=	${GALLIUM_SOURCES.${_d}}
    542 .PATH: ${X11SRCDIR.MesaLib}/src/gallium/${_d}
    543 .endfor
    544 
    545 #. if defined(${GALLIUM_SOURCES.${_d}})
    546 #SRCS+=	${GALLIUM_SOURCES.${_d}}
    547 #. endif
    548 
    549 .include "../libloader.mk"
    550 
    551 .if ${BUILD_RADEON} == 1
    552 CFLAGS+=	-pthread
    553 LDFLAGS+=	-pthread
    554 LIBDPLIBS+=	pthread		${.CURDIR}/../../../../../lib/libpthread
    555 .endif
    556 
    557 LIBDPLIBS+=	m		${.CURDIR}/../../../../../lib/libm
    558 .if ${BUILD_RADEON} == 1 || ${BUILD_NOUVEAU} == 1
    559 LIBDPLIBS+= 	drm		${.CURDIR}/../libdrm
    560 .if ${BUILD_RADEON} == 1
    561 LIBDPLIBS+= 	drm_radeon	${.CURDIR}/../libdrm_radeon
    562 .endif	# ${BUILD_RADEON} == 1
    563 .if ${BUILD_NOUVEAU} == 1
    564 LIBDPLIBS+= 	drm_nouveau	${.CURDIR}/../libdrm_nouveau
    565 .endif	# ${BUILD_NOUVEAU} == 1
    566 .endif	# ${BUILD_RADEON} == 1 || ${BUILD_NOUVEAU} == 1
    567 LIBDPLIBS+= 	glapi		${.CURDIR}/../libglapi
    568 LIBDPLIBS+=	expat		${.CURDIR}/../../../../../external/mit/expat/lib/libexpat
    569 
    570 LDFLAGS+=	-Wl,--version-script=${X11SRCDIR.MesaLib}/src/gallium/targets/dri/dri.sym
    571 
    572 ##  build mesagallium parts
    573 MESA_SRC_MODULES=  main math vbo state_tracker program asm_s
    574 .include "../libmesa.mk"
    575 .include "../libglsl.mk"
    576 
    577 # Special addition for just gallium; it misses the rest of asm_c files.
    578 .PATH: ${X11SRCDIR.MesaLib}/src/mesa/x86
    579 SRCS+=	common_x86.c
    580 
    581 .if ${MACHINE} == "amd64" || ${MACHINE} == "i386"
    582 SRCS+=	streaming-load-memcpy.c
    583 CFLAGS.streaming-load-memcpy.c+= -msse4.1
    584 .endif
    585 
    586 .include "../driver.mk"
    587 
    588 
    589 .PATH: ${X11SRCDIR.MesaLib}/src/gallium/targets/dri
    590 SRCS+=	target.c
    591 
    592 CPPFLAGS+= \
    593 	-I${X11SRCDIR.MesaLib}/src/gallium/include \
    594 	-I${X11SRCDIR.MesaLib}/src/gallium/auxiliary \
    595 	-I${X11SRCDIR.MesaLib}/src/gallium/drivers \
    596 	-I${X11SRCDIR.MesaLib}/../src/mesa/drivers/dri/common
    597 
    598 CPPFLAGS.target.c += \
    599 	-DDRI_TARGET \
    600 	-DGALLIUM_GALAHAD \
    601 	-DGALLIUM_NOOP \
    602 	-DGALLIUM_RBUG \
    603 	-DGALLIUM_TRACE \
    604 	-DGALLIUM_SOFTPIPE \
    605 	-I${X11SRCDIR.MesaLib}/src/gallium/state_trackers/dri \
    606 	-I${X11SRCDIR.MesaLib}/src/loader \
    607 	-I${X11SRCDIR.MesaLib}/src/gallium/winsys
    608 
    609 .if ${BUILD_RADEON} == 1
    610 CPPFLAGS.target.c += \
    611 	-DGALLIUM_R200 \
    612 	-DGALLIUM_R600
    613 .endif	# ${BUILD_RADEON} == 1
    614 
    615 .if ${BUILD_NOUVEAU} == 1
    616 CPPFLAGS.target.c += \
    617 	-DGALLIUM_NOUVEAU
    618 .endif	# ${BUILD_NOUVEAU} == 1
    619 
    620 CWARNFLAGS.clang+=	-Wno-error=constant-conversion \
    621 			-Wno-error=tautological-constant-out-of-range-compare \
    622 			-Wno-error=pointer-sign \
    623 			-Wno-error=switch \
    624 			-Wno-error=absolute-value \
    625 			-Wno-error=tautological-compare \
    626 			-Wno-error=static-in-inline \
    627 			-Wno-error=logical-not-parentheses
    628 
    629 .include <bsd.x11.mk>
    630 LIBDIR=		${X11USRLIBDIR}/modules/dri
    631 
    632 .for _d in ${DRIVERS}
    633 SYMLINKS+= gallium_dri.so ${DRIDIR}/${_d}_dri.so
    634 SYMLINKS+= gallium_dri.so.${SHLIB_MAJOR} ${DRIDIR}/${_d}_dri.so.${SHLIB_MAJOR} 
    635 .if ${MKDEBUG} != "no"
    636 SYMLINKS+= gallium_dri.so.${SHLIB_MAJOR}.debug ${DRIDEBUGDIR}/${_d}_dri.so.${SHLIB_MAJOR}.debug
    637 .endif
    638 .endfor
    639 
    640 .if ${MACHINE_ARCH} == "sparc" || ${COMMON_MACHINE_ARCH:U} == "sparc"
    641 COPTS+=	${${ACTIVE_CC} == "clang":? -Wa,-Av8plus  :}
    642 .endif
    643 
    644 .include <bsd.lib.mk>
    645 # Don't regenerate c files
    646 .y.c:
    647