1# $NetBSD: libmesa.old.mk,v 1.3 2023/07/15 21:24:46 rjs 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 ../../src/mesa/main ../../src/mapi/glapi 12INCLUDES.main= glsl mesa/main ../../src/compiler/nir 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/src amd/addrlib/src/core \ 148 amd/addrlib/src/gfx9 amd/addrlib/src/r800 149INCLUDES.amd= amd amd/common ../../src/amd/common \ 150 amd/addrlib amd/addrlib/inc \ 151 amd/addrlib/src amd/addrlib/src/core \ 152 amd/addrlib/src/r800 \ 153 amd/addrlib/src/chip/r800 \ 154 amd/addrlib/src/gfx9 \ 155 amd/addrlib/src/chip/gfx9 156 157SRCS.amd+= \ 158 addrinterface.cpp \ 159 addrelemlib.cpp \ 160 addrlib.cpp \ 161 addrlib1.cpp \ 162 addrlib2.cpp \ 163 addrobject.cpp \ 164 coord.cpp \ 165 gfx9addrlib.cpp \ 166 ciaddrlib.cpp \ 167 egbaddrlib.cpp \ 168 siaddrlib.cpp \ 169 ac_binary.c \ 170 ac_llvm_build.c \ 171 ac_llvm_helper.cpp \ 172 ac_llvm_util.c \ 173 ac_shader_util.c \ 174 ac_nir_to_llvm.c \ 175 ac_gpu_info.c \ 176 ac_surface.c \ 177 ac_debug.c 178 179# XXX avoid source name clashes with glx 180.PATH: ${X11SRCDIR.Mesa}/src/mesa/main 181BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/mesa/main/pixel.c MESApixel.c \ 182 ${X11SRCDIR.Mesa}/src/mesa/main/pixelstore.c MESApixelstore.c \ 183 ${X11SRCDIR.Mesa}/src/mesa/main/eval.c MESAeval.c \ 184 ${X11SRCDIR.Mesa}/src/mesa/main/debug.c MESAdebug.c 185 186# Math sources 187PATHS.math= mesa/math 188SRCS.math= \ 189 m_debug_clip.c \ 190 m_debug_norm.c \ 191 m_debug_xform.c \ 192 m_eval.c \ 193 m_matrix.c \ 194 m_translate.c \ 195 m_vector.c 196 197PATHS.math_xform= mesa/math 198SRCS.math_xform= \ 199 m_xform.c 200 201 202# VBO sources 203PATHS.vbo= mesa/vbo 204INCLUDES.vbo= gallium/auxiliary 205SRCS.vbo= \ 206 vbo_context.c \ 207 vbo_exec_api.c \ 208 vbo_exec.c \ 209 vbo_exec_draw.c \ 210 vbo_exec_eval.c \ 211 vbo_minmax_index.c \ 212 vbo_noop.c \ 213 vbo_primitive_restart.c \ 214 vbo_save_api.c \ 215 vbo_save.c \ 216 vbo_save_draw.c \ 217 vbo_save_loopback.c 218 219# TNL sources 220PATHS.tnl= mesa/tnl 221SRCS.tnl= \ 222 t_context.c \ 223 t_draw.c \ 224 t_pipeline.c \ 225 t_rebase.c \ 226 t_split.c \ 227 t_split_copy.c \ 228 t_split_inplace.c \ 229 t_vb_fog.c \ 230 t_vb_light.c \ 231 t_vb_normals.c \ 232 t_vb_points.c \ 233 t_vb_program.c \ 234 t_vb_render.c \ 235 t_vb_texgen.c \ 236 t_vb_texmat.c \ 237 t_vb_vertex.c \ 238 t_vertex.c \ 239 t_vertex_generic.c \ 240 t_vertex_sse.c \ 241 t_vp_build.c 242 243# Software raster sources 244PATHS.swrast= mesa/swrast 245INCLUDES.swrast= mesa/main 246SRCS.swrast= \ 247 s_aaline.c \ 248 s_aatriangle.c \ 249 s_alpha.c \ 250 s_atifragshader.c \ 251 s_bitmap.c \ 252 s_blend.c \ 253 s_blit.c \ 254 s_clear.c \ 255 s_context.c \ 256 s_copypix.c \ 257 s_depth.c \ 258 s_drawpix.c \ 259 s_feedback.c \ 260 s_fog.c \ 261 s_fragprog.c \ 262 s_lines.c \ 263 s_logic.c \ 264 s_masking.c \ 265 s_points.c \ 266 s_renderbuffer.c \ 267 s_span.c \ 268 s_stencil.c \ 269 s_texcombine.c \ 270 s_texfetch.c \ 271 s_texfilter.c \ 272 s_texrender.c \ 273 s_texture.c \ 274 s_triangle.c \ 275 s_zoom.c 276 277# swrast_setup 278PATHS.ss= mesa/swrast_setup 279SRCS.ss= \ 280 ss_context.c \ 281 ss_triangle.c 282 283 284# Common driver sources 285PATHS.common= mesa/drivers/common 286SRCS.common= \ 287 driverfuncs.c \ 288 meta_blit.c \ 289 meta_generate_mipmap.c \ 290 meta.c 291 292# ASM C driver sources 293PATHS.asm_c= mesa/x86 mesa/x86/rtasm mesa/sparc mesa/x86-64 294SRCS.asm_c= \ 295 common_x86.c \ 296 x86_xform.c \ 297 3dnow.c \ 298 sse.c \ 299 x86sse.c \ 300 sparc.c \ 301 x86-64.c 302 303# ASM assembler driver sources 304PATHS.asm_s= mesa/x86 mesa/x86/rtasm mesa/sparc mesa/x86-64 305.if ${MACHINE} == "amd64" 306SRCS.asm_s= \ 307 xform4.S 308CPPFLAGS+= -I${X11SRCDIR.Mesa}/../src/mesa 309.elif ${MACHINE} == "sparc" || ${MACHINE} == "sparc64" 310SRCS.asm_s= \ 311 sparc_clip.S \ 312 norm.S \ 313 xform.S 314.elif ${MACHINE} == "i386" 315SRCS.asm_s= \ 316 common_x86_asm.S \ 317 x86_xform2.S \ 318 x86_xform3.S \ 319 x86_xform4.S \ 320 x86_cliptest.S \ 321 mmx_blend.S \ 322 3dnow_xform1.S \ 323 3dnow_xform2.S \ 324 3dnow_xform3.S \ 325 3dnow_xform4.S \ 326 sse_xform1.S \ 327 sse_xform2.S \ 328 sse_xform3.S \ 329 sse_xform4.S \ 330 sse_normal.S \ 331 read_rgba_span_x86.S \ 332 streaming-load-memcpy.c \ 333 sse_minmax.c 334CPPFLAGS+= -I${X11SRCDIR.Mesa}/../src/mesa 335.endif 336 337.if ${MACHINE} == "amd64" || ${MACHINE} == "i386" 338SRCS.asm_s+= \ 339 streaming-load-memcpy.c \ 340 sse_minmax.c 341COPTS.sse_minmax.c+= -msse4.1 342.endif 343 344# State tracker sources 345PATHS.state_tracker= mesa/state_tracker 346INCLUDES.state_tracker= glsl mesa/main 347SRCS.state_tracker= \ 348 st_atifs_to_tgsi.c \ 349 st_atom.c \ 350 st_atom_array.c \ 351 st_atom_atomicbuf.c \ 352 st_atom_blend.c \ 353 st_atom_clip.c \ 354 st_atom_constbuf.c \ 355 st_atom_depth.c \ 356 st_atom_framebuffer.c \ 357 st_atom_image.c \ 358 st_atom_msaa.c \ 359 st_atom_pixeltransfer.c \ 360 st_atom_rasterizer.c \ 361 st_atom_sampler.c \ 362 st_atom_scissor.c \ 363 st_atom_shader.c \ 364 st_atom_stipple.c \ 365 st_atom_storagebuf.c \ 366 st_atom_tess.c \ 367 st_atom_texture.c \ 368 st_atom_viewport.c \ 369 st_cb_bitmap.c \ 370 st_cb_bitmap_shader.c \ 371 st_cb_blit.c \ 372 st_cb_bufferobjects.c \ 373 st_cb_clear.c \ 374 st_cb_compute.c \ 375 st_cb_condrender.c \ 376 st_cb_copyimage.c \ 377 st_cb_drawpixels.c \ 378 st_cb_drawpixels_shader.c \ 379 st_cb_drawtex.c \ 380 st_cb_eglimage.c \ 381 st_cb_fbo.c \ 382 st_cb_feedback.c \ 383 st_cb_flush.c \ 384 st_cb_memoryobjects.c \ 385 st_cb_msaa.c \ 386 st_cb_perfmon.c \ 387 st_cb_program.c \ 388 st_cb_queryobj.c \ 389 st_cb_rasterpos.c \ 390 st_cb_readpixels.c \ 391 st_cb_semaphoreobjects.c \ 392 st_cb_strings.c \ 393 st_cb_syncobj.c \ 394 st_cb_texture.c \ 395 st_cb_texturebarrier.c \ 396 st_cb_viewport.c \ 397 st_cb_xformfb.c \ 398 st_context.c \ 399 st_copytex.c \ 400 st_debug.c \ 401 st_draw.c \ 402 st_draw_feedback.c \ 403 st_extensions.c \ 404 st_format.c \ 405 st_gen_mipmap.c \ 406 st_glsl_to_ir.cpp \ 407 st_glsl_to_nir.cpp \ 408 st_glsl_to_tgsi.cpp \ 409 st_glsl_to_tgsi_array_merge.cpp \ 410 st_glsl_to_tgsi_private.cpp \ 411 st_glsl_to_tgsi_temprename.cpp \ 412 st_glsl_types.cpp \ 413 st_manager.c \ 414 st_mesa_to_tgsi.c \ 415 st_nir_builtins.c \ 416 st_nir_lower_builtin.c \ 417 st_nir_lower_tex_src_plane.c \ 418 st_pbo.c \ 419 st_program.c \ 420 st_sampler_view.c \ 421 st_scissor.c \ 422 st_shader_cache.c \ 423 st_texture.c \ 424 st_tgsi_lower_yuv.c 425 426# Program sources 427PATHS.program= mesa/program ../../src/mesa/program 428INCLUDES.program= glsl 429SRCS.program= \ 430 arbprogparse.c \ 431 ir_to_mesa.cpp \ 432 prog_cache.c \ 433 prog_execute.c \ 434 prog_instruction.c \ 435 prog_noise.c \ 436 prog_opt_constant_fold.c \ 437 prog_optimize.c \ 438 prog_parameter.c \ 439 prog_parameter_layout.c \ 440 prog_print.c \ 441 prog_statevars.c \ 442 prog_to_nir.c \ 443 program.c \ 444 programopt.c \ 445 program_parse.tab.c \ 446 program_parse_extra.c \ 447 symbol_table.c \ 448 program_lexer.l 449 450# Generated 451#.PATH: ${X11SRCDIR.Mesa}/../src/mesa/program 452#SRCS.program+= \ 453# lex.yy.c 454 455 456# Run throught all the modules and setup the SRCS and CPPFLAGS etc. 457.for _mod_ in ${MESA_SRC_MODULES} 458 459SRCS+= ${SRCS.${_mod_}} 460 461. for _path_ in ${PATHS.${_mod_}} 462.PATH: ${X11SRCDIR.Mesa}/src/${_path_} 463. endfor 464 465. for _path_ in ${INCLUDES.${_mod_}} 466. for _s in ${SRCS.${_mod_}} 467CPPFLAGS.${_s}+= -I${X11SRCDIR.Mesa}/src/${_path_} 468. endfor 469. endfor 470 471.endfor 472 473CPPFLAGS+= -I${X11SRCDIR.Mesa}/include 474CPPFLAGS+= -I${X11SRCDIR.Mesa}/src 475CPPFLAGS+= -I${X11SRCDIR.Mesa}/src/mesa 476CPPFLAGS+= -I${X11SRCDIR.Mesa}/src/mapi 477CPPFLAGS+= -I${X11SRCDIR.Mesa}/src/gallium/include 478CPPFLAGS+= -I${X11SRCDIR.Mesa}/../src/mapi/glapi 479CPPFLAGS+= -I${X11SRCDIR.Mesa}/../src/mesa 480CPPFLAGS+= -I${X11SRCDIR.Mesa}/../src/mesa/main 481CPPFLAGS+= -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/common 482 483CPPFLAGS+= \ 484 -DPACKAGE_NAME=\"Mesa\" \ 485 -DPACKAGE_TARNAME=\"mesa\" \ 486 -DPACKAGE_VERSION=\"${MESA_VER}\" \ 487 -DPACKAGE_STRING=\"Mesa\ ${MESA_VER}\" \ 488 -DVERSION=\"${MESA_VER}\" \ 489 -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\" \ 490 -DPACKAGE_URL=\"\" \ 491 -DPACKAGE=\"mesa\" \ 492 493CPPFLAGS+= \ 494 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 \ 495 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 \ 496 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 \ 497 -DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 \ 498 -DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 \ 499 -DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 \ 500 -DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 \ 501 -DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 \ 502 -DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \ 503 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \ 504 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \ 505 -DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \ 506 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \ 507 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \ 508 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \ 509 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 -DHAVE_ENDIAN_H=1 -DHAVE_DLADDR=1 \ 510 -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 \ 511 -DHAVE_PTHREAD=1 \ 512 -D__STDC_CONSTANT_MACROS \ 513 -D__STDC_FORMAT_MACROS \ 514 -D__STDC_LIMIT_MACROS \ 515 -DUSE_GCC_ATOMIC_BUILTINS \ 516 -DNDEBUG \ 517 -DHAVE_SYS_SYSCTL_H \ 518 -DHAVE_DLFCN_H \ 519 -DHAVE_STRTOF \ 520 -DHAVE_MKOSTEMP \ 521 -DHAVE_TIMESPEC_GET \ 522 -DHAVE_STRTOD_L \ 523 -DHAVE_DL_ITERATE_PHDR \ 524 -DHAVE_POSIX_MEMALIGN \ 525 -DHAVE_ZLIB \ 526 -DHAVE_LIBDRM -DGLX_USE_DRM \ 527 -DGLX_INDIRECT_RENDERING \ 528 -DGLX_DIRECT_RENDERING \ 529 -DGLX_USE_TLS \ 530 -DHAVE_X11_PLATFORM \ 531 -DHAVE_DRM_PLATFORM \ 532 -DENABLE_SHADER_CACHE \ 533 -DHAVE_MINCORE 534 535.if ${MKLLVMRT} != "no" 536LLVM_VERSION!= cd ${NETBSDSRCDIR}/external/apache2/llvm && ${MAKE} -V LLVM_VERSION 537HAVE_LLVM_VERSION!= expr ${LLVM_VERSION:R:R} \* 256 + ${LLVM_VERSION:R:E} \* 16 538CPPFLAGS+= \ 539 -DHAVE_LLVM=${HAVE_LLVM_VERSION} 540CXXFLAGS+= -fno-rtti 541.endif 542 543.include "../asm.mk" 544 545CPPFLAGS+= \ 546 -DHAVE_LIBDRM -DGLX_USE_DRM -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DMESA_EGL_NO_X11_HEADERS 547 548CPPFLAGS+= \ 549 -DYYTEXT_POINTER=1 550 551CFLAGS+= -fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp -fcommon 552 553.include "libGL.old/mesa-ver.mk" 554