libmesa.mk revision 1.7
1# $NetBSD: libmesa.mk,v 1.7 2019/06/18 11:28:30 maya Exp $ 2# 3# Consumer of this Makefile should set MESA_SRC_MODULES. 4 5CPPFLAGS.ac_surface.c+= ${${ACTIVE_CC} == "clang":? -Wno-error=enum-conversion :} 6 7# The source file lists derived from src/mesa/Makefile.sources. 8# Please keep the organization in line with those files. 9 10# Main sources 11PATHS.main= mesa/main 12INCLUDES.main= glsl mesa/main 13SRCS.main= \ 14 accum.c \ 15 api_arrayelt.c \ 16 api_loopback.c \ 17 api_exec.c \ 18 arbprogram.c \ 19 arrayobj.c \ 20 atifragshader.c \ 21 attrib.c \ 22 barrier.c \ 23 bbox.c \ 24 blend.c \ 25 blit.c \ 26 bufferobj.c \ 27 buffers.c \ 28 clear.c \ 29 clip.c \ 30 colortab.c \ 31 compute.c \ 32 condrender.c \ 33 conservativeraster.c \ 34 context.c \ 35 convolve.c \ 36 copyimage.c \ 37 cpuinfo.c \ 38 MESAdebug.c \ 39 debug_output.c \ 40 depth.c \ 41 dlist.c \ 42 draw.c \ 43 drawpix.c \ 44 drawtex.c \ 45 draw_validate.c \ 46 enable.c \ 47 enums.c \ 48 errors.c \ 49 MESAeval.c \ 50 execmem.c \ 51 extensions.c \ 52 extensions_table.c \ 53 externalobjects.c \ 54 fbobject.c \ 55 feedback.c \ 56 ff_fragment_shader.cpp \ 57 ffvertex_prog.c \ 58 fog.c \ 59 format_fallback.c \ 60 format_pack.c \ 61 format_unpack.c \ 62 format_utils.c \ 63 formatquery.c \ 64 formats.c \ 65 framebuffer.c \ 66 get.c \ 67 genmipmap.c \ 68 getstring.c \ 69 glformats.c \ 70 glspirv.c \ 71 glthread.c \ 72 hash.c \ 73 hint.c \ 74 histogram.c \ 75 image.c \ 76 imports.c \ 77 light.c \ 78 lines.c \ 79 marshal.c \ 80 marshal_generated.c \ 81 matrix.c \ 82 mipmap.c \ 83 mm.c \ 84 multisample.c \ 85 objectlabel.c \ 86 objectpurge.c \ 87 pack.c \ 88 pbo.c \ 89 performance_monitor.c \ 90 performance_query.c \ 91 pipelineobj.c \ 92 MESApixel.c \ 93 MESApixelstore.c \ 94 pixeltransfer.c \ 95 points.c \ 96 polygon.c \ 97 program_binary.c \ 98 program_resource.c \ 99 querymatrix.c \ 100 queryobj.c \ 101 rastpos.c \ 102 readpix.c \ 103 remap.c \ 104 renderbuffer.c \ 105 robustness.c \ 106 samplerobj.c \ 107 scissor.c \ 108 shaderapi.c \ 109 shaderimage.c \ 110 shaderobj.c \ 111 shader_query.cpp \ 112 shared.c \ 113 state.c \ 114 stencil.c \ 115 syncobj.c \ 116 texcompress.c \ 117 texcompress_astc.cpp \ 118 texcompress_bptc.c \ 119 texcompress_cpal.c \ 120 texcompress_etc.c \ 121 texcompress_fxt1.c \ 122 texcompress_rgtc.c \ 123 texcompress_s3tc.c \ 124 texenv.c \ 125 texformat.c \ 126 texgen.c \ 127 texgetimage.c \ 128 teximage.c \ 129 texobj.c \ 130 texparam.c \ 131 texstate.c \ 132 texstorage.c \ 133 texstore.c \ 134 texturebindless.c \ 135 textureview.c \ 136 transformfeedback.c \ 137 uniform_query.cpp \ 138 uniforms.c \ 139 varray.c \ 140 vdpau.c \ 141 version.c \ 142 viewport.c \ 143 vtxfmt.c \ 144 es1_conversion.c 145 146# AMD common code 147PATHS.amd= amd/common amd/addrlib amd/addrlib/core \ 148 amd/addrlib/gfx9 amd/addrlib/r800 149INCLUDES.amd= amd/common amd amd/addrlib amd/addrlib/core \ 150 amd/addrlib/inc/chip/r800 \ 151 amd/addrlib/inc/chip/gfx9 152 153SRCS.amd+= \ 154 addrinterface.cpp \ 155 addrelemlib.cpp \ 156 addrlib.cpp \ 157 addrlib1.cpp \ 158 addrlib2.cpp \ 159 addrobject.cpp \ 160 coord.cpp \ 161 gfx9addrlib.cpp \ 162 ciaddrlib.cpp \ 163 egbaddrlib.cpp \ 164 siaddrlib.cpp \ 165 ac_binary.c \ 166 ac_llvm_build.c \ 167 ac_llvm_helper.cpp \ 168 ac_llvm_util.c \ 169 ac_shader_util.c \ 170 ac_nir_to_llvm.c \ 171 ac_gpu_info.c \ 172 ac_surface.c \ 173 ac_debug.c 174 175# XXX avoid source name clashes with glx 176.PATH: ${X11SRCDIR.Mesa}/src/mesa/main 177BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/mesa/main/pixel.c MESApixel.c \ 178 ${X11SRCDIR.Mesa}/src/mesa/main/pixelstore.c MESApixelstore.c \ 179 ${X11SRCDIR.Mesa}/src/mesa/main/eval.c MESAeval.c \ 180 ${X11SRCDIR.Mesa}/src/mesa/main/debug.c MESAdebug.c 181 182# Math sources 183PATHS.math= mesa/math 184SRCS.math= \ 185 m_debug_clip.c \ 186 m_debug_norm.c \ 187 m_debug_xform.c \ 188 m_eval.c \ 189 m_matrix.c \ 190 m_translate.c \ 191 m_vector.c 192 193PATHS.math_xform= mesa/math 194SRCS.math_xform= \ 195 m_xform.c 196 197 198# VBO sources 199PATHS.vbo= mesa/vbo 200INCLUDES.vbo= gallium/auxiliary 201SRCS.vbo= \ 202 vbo_context.c \ 203 vbo_exec_api.c \ 204 vbo_exec.c \ 205 vbo_exec_draw.c \ 206 vbo_exec_eval.c \ 207 vbo_minmax_index.c \ 208 vbo_noop.c \ 209 vbo_primitive_restart.c \ 210 vbo_save_api.c \ 211 vbo_save.c \ 212 vbo_save_draw.c \ 213 vbo_save_loopback.c 214 215# TNL sources 216PATHS.tnl= mesa/tnl 217SRCS.tnl= \ 218 t_context.c \ 219 t_draw.c \ 220 t_pipeline.c \ 221 t_rebase.c \ 222 t_split.c \ 223 t_split_copy.c \ 224 t_split_inplace.c \ 225 t_vb_fog.c \ 226 t_vb_light.c \ 227 t_vb_normals.c \ 228 t_vb_points.c \ 229 t_vb_program.c \ 230 t_vb_render.c \ 231 t_vb_texgen.c \ 232 t_vb_texmat.c \ 233 t_vb_vertex.c \ 234 t_vertex.c \ 235 t_vertex_generic.c \ 236 t_vertex_sse.c \ 237 t_vp_build.c 238 239# Software raster sources 240PATHS.swrast= mesa/swrast 241INCLUDES.swrast= mesa/main 242SRCS.swrast= \ 243 s_aaline.c \ 244 s_aatriangle.c \ 245 s_alpha.c \ 246 s_atifragshader.c \ 247 s_bitmap.c \ 248 s_blend.c \ 249 s_blit.c \ 250 s_clear.c \ 251 s_context.c \ 252 s_copypix.c \ 253 s_depth.c \ 254 s_drawpix.c \ 255 s_feedback.c \ 256 s_fog.c \ 257 s_fragprog.c \ 258 s_lines.c \ 259 s_logic.c \ 260 s_masking.c \ 261 s_points.c \ 262 s_renderbuffer.c \ 263 s_span.c \ 264 s_stencil.c \ 265 s_texcombine.c \ 266 s_texfetch.c \ 267 s_texfilter.c \ 268 s_texrender.c \ 269 s_texture.c \ 270 s_triangle.c \ 271 s_zoom.c 272 273# swrast_setup 274PATHS.ss= mesa/swrast_setup 275SRCS.ss= \ 276 ss_context.c \ 277 ss_triangle.c 278 279 280# Common driver sources 281PATHS.common= mesa/drivers/common 282SRCS.common= \ 283 driverfuncs.c \ 284 meta_blit.c \ 285 meta_generate_mipmap.c \ 286 meta.c 287 288# ASM C driver sources 289PATHS.asm_c= mesa/x86 mesa/x86/rtasm mesa/sparc mesa/x86-64 290SRCS.asm_c= \ 291 common_x86.c \ 292 x86_xform.c \ 293 3dnow.c \ 294 sse.c \ 295 x86sse.c \ 296 sparc.c \ 297 x86-64.c 298 299# ASM assembler driver sources 300PATHS.asm_s= mesa/x86 mesa/x86/rtasm mesa/sparc mesa/x86-64 301.if ${MACHINE} == "amd64" 302SRCS.asm_s= \ 303 xform4.S 304CPPFLAGS+= -I${X11SRCDIR.Mesa}/../src/arch/x86_64 305.elif ${MACHINE} == "sparc" || ${MACHINE} == "sparc64" 306SRCS.asm_s= \ 307 sparc_clip.S \ 308 norm.S \ 309 xform.S 310.elif ${MACHINE} == "i386" 311SRCS.asm_s= \ 312 common_x86_asm.S \ 313 x86_xform2.S \ 314 x86_xform3.S \ 315 x86_xform4.S \ 316 x86_cliptest.S \ 317 mmx_blend.S \ 318 3dnow_xform1.S \ 319 3dnow_xform2.S \ 320 3dnow_xform3.S \ 321 3dnow_xform4.S \ 322 sse_xform1.S \ 323 sse_xform2.S \ 324 sse_xform3.S \ 325 sse_xform4.S \ 326 sse_normal.S \ 327 read_rgba_span_x86.S \ 328 streaming-load-memcpy.c \ 329 sse_minmax.c 330CPPFLAGS+= -I${X11SRCDIR.Mesa}/../src/arch/i386 331.endif 332 333.if ${MACHINE} == "amd64" || ${MACHINE} == "i386" 334SRCS.asm_s+= \ 335 streaming-load-memcpy.c \ 336 sse_minmax.c 337COPTS.sse_minmax.c+= -msse4.1 338.endif 339 340# State tracker sources 341PATHS.state_tracker= mesa/state_tracker 342INCLUDES.state_tracker= glsl mesa/main 343SRCS.state_tracker= \ 344 st_atifs_to_tgsi.c \ 345 st_atom.c \ 346 st_atom_array.c \ 347 st_atom_atomicbuf.c \ 348 st_atom_blend.c \ 349 st_atom_clip.c \ 350 st_atom_constbuf.c \ 351 st_atom_depth.c \ 352 st_atom_framebuffer.c \ 353 st_atom_image.c \ 354 st_atom_msaa.c \ 355 st_atom_pixeltransfer.c \ 356 st_atom_rasterizer.c \ 357 st_atom_sampler.c \ 358 st_atom_scissor.c \ 359 st_atom_shader.c \ 360 st_atom_stipple.c \ 361 st_atom_storagebuf.c \ 362 st_atom_tess.c \ 363 st_atom_texture.c \ 364 st_atom_viewport.c \ 365 st_cb_bitmap.c \ 366 st_cb_bitmap_shader.c \ 367 st_cb_blit.c \ 368 st_cb_bufferobjects.c \ 369 st_cb_clear.c \ 370 st_cb_compute.c \ 371 st_cb_condrender.c \ 372 st_cb_copyimage.c \ 373 st_cb_drawpixels.c \ 374 st_cb_drawpixels_shader.c \ 375 st_cb_drawtex.c \ 376 st_cb_eglimage.c \ 377 st_cb_fbo.c \ 378 st_cb_feedback.c \ 379 st_cb_flush.c \ 380 st_cb_memoryobjects.c \ 381 st_cb_msaa.c \ 382 st_cb_perfmon.c \ 383 st_cb_program.c \ 384 st_cb_queryobj.c \ 385 st_cb_rasterpos.c \ 386 st_cb_readpixels.c \ 387 st_cb_semaphoreobjects.c \ 388 st_cb_strings.c \ 389 st_cb_syncobj.c \ 390 st_cb_texture.c \ 391 st_cb_texturebarrier.c \ 392 st_cb_viewport.c \ 393 st_cb_xformfb.c \ 394 st_context.c \ 395 st_copytex.c \ 396 st_debug.c \ 397 st_draw.c \ 398 st_draw_feedback.c \ 399 st_extensions.c \ 400 st_format.c \ 401 st_gen_mipmap.c \ 402 st_glsl_to_nir.cpp \ 403 st_glsl_to_tgsi.cpp \ 404 st_glsl_to_tgsi_array_merge.cpp \ 405 st_glsl_to_tgsi_private.cpp \ 406 st_glsl_to_tgsi_temprename.cpp \ 407 st_glsl_types.cpp \ 408 st_manager.c \ 409 st_mesa_to_tgsi.c \ 410 st_nir_lower_builtin.c \ 411 st_nir_lower_tex_src_plane.c \ 412 st_nir_lower_uniforms_to_ubo.c \ 413 st_pbo.c \ 414 st_program.c \ 415 st_sampler_view.c \ 416 st_scissor.c \ 417 st_shader_cache.c \ 418 st_texture.c \ 419 st_tgsi_lower_yuv.c 420 421# Program sources 422PATHS.program= mesa/program 423INCLUDES.program= glsl 424SRCS.program= \ 425 arbprogparse.c \ 426 ir_to_mesa.cpp \ 427 prog_cache.c \ 428 prog_execute.c \ 429 prog_instruction.c \ 430 prog_noise.c \ 431 prog_opt_constant_fold.c \ 432 prog_optimize.c \ 433 prog_parameter.c \ 434 prog_parameter_layout.c \ 435 prog_print.c \ 436 prog_statevars.c \ 437 prog_to_nir.c \ 438 program.c \ 439 programopt.c \ 440 program_parse.tab.c \ 441 program_parse_extra.c \ 442 symbol_table.c \ 443 program_lexer.l 444 445# Generated 446#.PATH: ${X11SRCDIR.Mesa}/../src/mesa/program 447#SRCS.program+= \ 448# lex.yy.c 449 450 451# Run throught all the modules and setup the SRCS and CPPFLAGS etc. 452.for _mod_ in ${MESA_SRC_MODULES} 453 454SRCS+= ${SRCS.${_mod_}} 455 456. for _path_ in ${PATHS.${_mod_}} 457.PATH: ${X11SRCDIR.Mesa}/src/${_path_} 458. endfor 459 460. for _path_ in ${INCLUDES.${_mod_}} 461. for _s in ${SRCS.${_mod_}} 462CPPFLAGS.${_s}+= -I${X11SRCDIR.Mesa}/src/${_path_} 463. endfor 464. endfor 465 466.endfor 467 468CPPFLAGS+= -I${X11SRCDIR.Mesa}/include 469CPPFLAGS+= -I${X11SRCDIR.Mesa}/src 470CPPFLAGS+= -I${X11SRCDIR.Mesa}/src/mesa 471CPPFLAGS+= -I${X11SRCDIR.Mesa}/src/mapi 472CPPFLAGS+= -I${X11SRCDIR.Mesa}/src/gallium/include 473CPPFLAGS+= -I${X11SRCDIR.Mesa}/../src/mapi/glapi 474CPPFLAGS+= -I${X11SRCDIR.Mesa}/../src/mesa 475CPPFLAGS+= -I${X11SRCDIR.Mesa}/../src/mesa/main 476CPPFLAGS+= -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/common 477 478CPPFLAGS+= \ 479 -DPACKAGE_NAME=\"Mesa\" \ 480 -DPACKAGE_TARNAME=\"mesa\" \ 481 -DPACKAGE_VERSION=\"${MESA_VER}\" \ 482 -DPACKAGE_STRING=\"Mesa\ ${MESA_VER}\" \ 483 -DVERSION=\"${MESA_VER}\" \ 484 -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\" \ 485 -DPACKAGE_URL=\"\" \ 486 -DPACKAGE=\"mesa\" \ 487 488CPPFLAGS+= \ 489 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 \ 490 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 \ 491 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 \ 492 -DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 \ 493 -DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 \ 494 -DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 \ 495 -DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 \ 496 -DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 \ 497 -DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \ 498 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \ 499 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \ 500 -DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \ 501 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \ 502 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \ 503 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \ 504 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 -DHAVE_ENDIAN_H=1 -DHAVE_DLADDR=1 \ 505 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 \ 506 -DHAVE_PTHREAD=1 \ 507 -D__STDC_CONSTANT_MACROS \ 508 -D__STDC_FORMAT_MACROS \ 509 -D__STDC_LIMIT_MACROS \ 510 -DUSE_GCC_ATOMIC_BUILTINS \ 511 -DNDEBUG \ 512 -DHAVE_SYS_SYSCTL_H \ 513 -DHAVE_DLFCN_H \ 514 -DHAVE_STRTOF \ 515 -DHAVE_MKOSTEMP \ 516 -DHAVE_TIMESPEC_GET \ 517 -DHAVE_STRTOD_L \ 518 -DHAVE_DL_ITERATE_PHDR \ 519 -DHAVE_POSIX_MEMALIGN \ 520 -DHAVE_ZLIB \ 521 -DHAVE_LIBDRM -DGLX_USE_DRM \ 522 -DGLX_INDIRECT_RENDERING \ 523 -DGLX_DIRECT_RENDERING \ 524 -DGLX_USE_TLS \ 525 -DHAVE_X11_PLATFORM \ 526 -DHAVE_DRM_PLATFORM \ 527 -DENABLE_SHADER_CACHE \ 528 -DHAVE_MINCORE 529 530.if ${MKLLVMRT} != "no" 531CPPFLAGS+= \ 532 -DHAVE_LLVM=0x0700 \ 533 -DMESA_LLVM_VERSION_PATCH=0 534CXXFLAGS+= -fno-rtti 535.endif 536 537.include "../asm.mk" 538 539CPPFLAGS+= \ 540 -DHAVE_LIBDRM -DGLX_USE_DRM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DMESA_EGL_NO_X11_HEADERS 541 542CPPFLAGS+= \ 543 -DYYTEXT_POINTER=1 544 545CFLAGS+= -fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp 546 547.include "libGL/mesa-ver.mk" 548