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