Makefile revision 1.9 1 1.9 riastrad # $NetBSD: Makefile,v 1.9 2024/05/05 15:25:31 riastradh Exp $
2 1.1 mrg
3 1.1 mrg # Link the mesa_dri_drivers mega driver.
4 1.1 mrg
5 1.6 rillig # Uses 'assert(cond)' in a comma expression, leading to a syntax error because
6 1.6 rillig # in lint mode, 'assert(cond)' expands to an empty string, and '(, expr)' is
7 1.6 rillig # not an expression.
8 1.6 rillig NOLINT=
9 1.6 rillig
10 1.6 rillig LINTFLAGS+= -X 213 # void function '%s' cannot return value
11 1.6 rillig LINTFLAGS+= -Ac23 # allow C23, for empty initializer braces
12 1.6 rillig
13 1.5 rillig # When build_id.c expands the macro invocation 'ElfW(Nhdr)', the result is
14 1.5 rillig # 'Elf64 /* MD native binary size */ _Nhdr'. The comment prevents the two
15 1.5 rillig # identifiers from being concatenated.
16 1.5 rillig build_id.ln:
17 1.5 rillig touch $@
18 1.3 christos
19 1.1 mrg .include <bsd.own.mk>
20 1.1 mrg
21 1.2 mrg .include "../mesa-which.mk"
22 1.2 mrg
23 1.2 mrg .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || \
24 1.2 mrg ${MACHINE} == "evbarm"
25 1.1 mrg
26 1.1 mrg LIBISMODULE= yes
27 1.1 mrg LIBISCXX= yes
28 1.1 mrg
29 1.1 mrg SHLIB_MAJOR= 0
30 1.1 mrg
31 1.1 mrg LIB= mesa_dri_drivers
32 1.1 mrg DRIDIR= ${X11USRLIBDIR}/modules/dri
33 1.1 mrg DRIDEBUGDIR= ${DEBUGDIR}${X11USRLIBDIR}/modules/dri
34 1.1 mrg
35 1.2 mrg LDFLAGS+= -Wl,--build-id=sha1
36 1.2 mrg
37 1.1 mrg # -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/${MODULE}/server \
38 1.1 mrg
39 1.1 mrg CPPFLAGS+= \
40 1.1 mrg -I${X11SRCDIR.Mesa}/src/egl/main \
41 1.1 mrg -I${X11SRCDIR.Mesa}/src/egl/drivers/dri \
42 1.1 mrg -I${X11SRCDIR.Mesa}/../src/mesa/drivers/dri/common \
43 1.2 mrg -I${DESTDIR}${X11INCDIR}/libdrm \
44 1.2 mrg -I${X11SRCDIR.Mesa}/../src/util
45 1.2 mrg
46 1.2 mrg .if ${MACHINE_ARCH} == "i386"
47 1.2 mrg CPPFLAGS.brw_disk_cache.c+= -march=i586
48 1.2 mrg .endif
49 1.1 mrg
50 1.1 mrg #CPPFLAGS+= -D_NETBSD_SOURCE -DPTHREADS
51 1.1 mrg
52 1.2 mrg # We don't actually build this on non-x86/non-evbarm at all, currently.
53 1.1 mrg # The following if statements are not effective since we only
54 1.2 mrg # get here for x86 and evbarm
55 1.1 mrg .if ${MACHINE_ARCH} == "alpha"
56 1.1 mrg DRIVERS= r200 radeon
57 1.1 mrg .elif ${MACHINE} == "macppc" || ${MACHINE} == "ofppc"
58 1.1 mrg DRIVERS= r200 radeon
59 1.1 mrg .elif ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "sparc"
60 1.1 mrg DRIVERS= r200 radeon
61 1.1 mrg .elif ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
62 1.1 mrg DRIVERS= i915 i965 r200 radeon
63 1.1 mrg .elif ${MACHINE} == "prep" || ${MACHINE} == "bebox"
64 1.1 mrg DRIVERS= r200 radeon
65 1.2 mrg .elif ${MACHINE} == "evbarm"
66 1.2 mrg DRIVERS= r200 radeon
67 1.1 mrg .endif
68 1.1 mrg
69 1.1 mrg DRI_SUBDIRS= ${DRIVERS}
70 1.1 mrg
71 1.2 mrg DRI_SOURCES.i915+= \
72 1.1 mrg i830_context.c \
73 1.1 mrg i830_state.c \
74 1.1 mrg i830_texblend.c \
75 1.1 mrg i830_texstate.c \
76 1.1 mrg i830_vtbl.c \
77 1.1 mrg i915_context.c \
78 1.1 mrg i915_debug_fp.c \
79 1.1 mrg i915_fragprog.c \
80 1.1 mrg i915_program.c \
81 1.1 mrg i915_state.c \
82 1.2 mrg i915_texstate.c \
83 1.2 mrg i915_vtbl.c \
84 1.2 mrg i915_tex_layout.c
85 1.1 mrg
86 1.1 mrg I915_INTEL_FILES = \
87 1.2 mrg intel_batchbuffer.c \
88 1.2 mrg intel_blit.c \
89 1.1 mrg intel_buffer_objects.c \
90 1.2 mrg intel_buffers.c \
91 1.1 mrg intel_clear.c \
92 1.2 mrg intel_context.c \
93 1.1 mrg intel_extensions.c \
94 1.2 mrg intel_fbo.c \
95 1.1 mrg intel_mipmap_tree.c \
96 1.1 mrg intel_pixel.c \
97 1.1 mrg intel_pixel_bitmap.c \
98 1.1 mrg intel_pixel_copy.c \
99 1.1 mrg intel_pixel_draw.c \
100 1.1 mrg intel_pixel_read.c \
101 1.2 mrg intel_regions.c \
102 1.2 mrg intel_render.c \
103 1.1 mrg intel_screen.c \
104 1.1 mrg intel_state.c \
105 1.1 mrg intel_syncobj.c \
106 1.2 mrg intel_tex.c \
107 1.2 mrg intel_tex_copy.c \
108 1.2 mrg intel_tex_image.c \
109 1.2 mrg intel_tex_layout.c \
110 1.2 mrg intel_tex_subimage.c \
111 1.2 mrg intel_tex_validate.c \
112 1.2 mrg intel_tris.c
113 1.1 mrg
114 1.1 mrg .for _f in ${I915_INTEL_FILES}
115 1.1 mrg BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i915/${_f} i915_${_f}
116 1.1 mrg DRI_SOURCES.i915+= i915_${_f}
117 1.1 mrg CPPFLAGS.i915_${_f}+= -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i915
118 1.1 mrg .endfor
119 1.1 mrg
120 1.2 mrg .PATH: ${X11SRCDIR.Mesa}/src/intel/blorp
121 1.2 mrg .PATH: ${X11SRCDIR.Mesa}/src/intel/common
122 1.2 mrg .PATH: ${X11SRCDIR.Mesa}/src/intel/compiler
123 1.2 mrg .PATH: ${X11SRCDIR.Mesa}/src/intel/dev
124 1.2 mrg .PATH: ${X11SRCDIR.Mesa}/src/intel/isl
125 1.2 mrg .PATH: ${X11SRCDIR.Mesa}/src/intel/perf
126 1.2 mrg .PATH: ${X11SRCDIR.Mesa}/../src/intel/
127 1.2 mrg .PATH: ${X11SRCDIR.Mesa}/../src/intel/perf
128 1.2 mrg
129 1.2 mrg DRI_SOURCES.i965+= \
130 1.2 mrg blorp.c \
131 1.2 mrg blorp_blit.c \
132 1.2 mrg blorp_clear.c \
133 1.2 mrg gen_batch_decoder.c \
134 1.2 mrg gen_debug.c \
135 1.2 mrg gen_decoder.c \
136 1.2 mrg gen_device_info.c \
137 1.2 mrg gen_disasm.c \
138 1.2 mrg gen_l3_config.c \
139 1.2 mrg gen_perf.c \
140 1.2 mrg gen_perf_mdapi.c \
141 1.2 mrg gen_perf_metrics.c \
142 1.2 mrg gen_urb_config.c \
143 1.2 mrg intel_log.c \
144 1.1 mrg brw_binding_tables.c \
145 1.2 mrg brw_blorp.c \
146 1.2 mrg brw_bufmgr.c \
147 1.1 mrg brw_cfg.cpp \
148 1.1 mrg brw_clear.c \
149 1.1 mrg brw_clip.c \
150 1.1 mrg brw_clip_line.c \
151 1.1 mrg brw_clip_point.c \
152 1.1 mrg brw_clip_tri.c \
153 1.1 mrg brw_clip_unfilled.c \
154 1.1 mrg brw_clip_util.c \
155 1.2 mrg brw_compile_clip.c \
156 1.2 mrg brw_compile_sf.c \
157 1.2 mrg brw_compiler.c \
158 1.2 mrg brw_compute.c \
159 1.2 mrg brw_conditional_render.c \
160 1.1 mrg brw_context.c \
161 1.2 mrg brw_cs.c \
162 1.1 mrg brw_curbe.c \
163 1.1 mrg brw_dead_control_flow.cpp \
164 1.2 mrg brw_debug_recompile.c \
165 1.1 mrg brw_disasm.c \
166 1.2 mrg brw_disasm_info.c \
167 1.2 mrg brw_disk_cache.c \
168 1.1 mrg brw_draw.c \
169 1.1 mrg brw_draw_upload.c \
170 1.1 mrg brw_eu.c \
171 1.1 mrg brw_eu_compact.c \
172 1.1 mrg brw_eu_emit.c \
173 1.1 mrg brw_eu_util.c \
174 1.2 mrg brw_eu_validate.c \
175 1.2 mrg brw_ff_gs.c \
176 1.2 mrg brw_ff_gs_emit.c \
177 1.2 mrg brw_formatquery.c \
178 1.1 mrg brw_fs.cpp \
179 1.2 mrg brw_fs_bank_conflicts.cpp \
180 1.2 mrg brw_fs_cmod_propagation.cpp \
181 1.2 mrg brw_fs_combine_constants.cpp \
182 1.1 mrg brw_fs_copy_propagation.cpp \
183 1.1 mrg brw_fs_cse.cpp \
184 1.1 mrg brw_fs_dead_code_eliminate.cpp \
185 1.1 mrg brw_fs_generator.cpp \
186 1.1 mrg brw_fs_live_variables.cpp \
187 1.2 mrg brw_fs_lower_pack.cpp \
188 1.2 mrg brw_fs_lower_regioning.cpp \
189 1.2 mrg brw_fs_nir.cpp \
190 1.1 mrg brw_fs_reg_allocate.cpp \
191 1.1 mrg brw_fs_register_coalesce.cpp \
192 1.1 mrg brw_fs_saturate_propagation.cpp \
193 1.1 mrg brw_fs_sel_peephole.cpp \
194 1.2 mrg brw_fs_validate.cpp \
195 1.1 mrg brw_fs_visitor.cpp \
196 1.2 mrg brw_generate_mipmap.c \
197 1.1 mrg brw_gs.c \
198 1.1 mrg brw_gs_surface_state.c \
199 1.1 mrg brw_interpolation_map.c \
200 1.2 mrg brw_link.cpp \
201 1.1 mrg brw_meta_util.c \
202 1.1 mrg brw_misc_state.c \
203 1.2 mrg brw_nir.c \
204 1.2 mrg brw_nir_analyze_boolean_resolves.c \
205 1.2 mrg brw_nir_analyze_ubo_ranges.c \
206 1.2 mrg brw_nir_attribute_workarounds.c \
207 1.2 mrg brw_nir_lower_conversions.c \
208 1.2 mrg brw_nir_lower_cs_intrinsics.c \
209 1.2 mrg brw_nir_lower_image_load_store.c \
210 1.2 mrg brw_nir_lower_mem_access_bit_sizes.c \
211 1.2 mrg brw_nir_opt_peephole_ffma.c \
212 1.2 mrg brw_nir_tcs_workarounds.c \
213 1.2 mrg brw_nir_trig_workarounds.c \
214 1.2 mrg brw_nir_uniforms.cpp \
215 1.1 mrg brw_object_purgeable.c \
216 1.2 mrg brw_packed_float.c \
217 1.2 mrg brw_performance_query.c \
218 1.2 mrg brw_performance_query_mdapi.c \
219 1.2 mrg brw_pipe_control.c \
220 1.2 mrg brw_predicated_break.cpp \
221 1.2 mrg brw_primitive_restart.c \
222 1.1 mrg brw_program.c \
223 1.2 mrg brw_program_binary.c \
224 1.2 mrg brw_program_cache.c \
225 1.1 mrg brw_queryobj.c \
226 1.2 mrg brw_reg_type.c \
227 1.1 mrg brw_reset.c \
228 1.1 mrg brw_schedule_instructions.cpp \
229 1.1 mrg brw_sf.c \
230 1.1 mrg brw_shader.cpp \
231 1.1 mrg brw_state_upload.c \
232 1.1 mrg brw_surface_formats.c \
233 1.2 mrg brw_sync.c \
234 1.2 mrg brw_tcs.c \
235 1.2 mrg brw_tcs_surface_state.c \
236 1.2 mrg brw_tes.c \
237 1.2 mrg brw_tes_surface_state.c \
238 1.1 mrg brw_urb.c \
239 1.1 mrg brw_util.c \
240 1.1 mrg brw_vec4.cpp \
241 1.2 mrg brw_vec4_cmod_propagation.cpp \
242 1.1 mrg brw_vec4_copy_propagation.cpp \
243 1.1 mrg brw_vec4_cse.cpp \
244 1.2 mrg brw_vec4_dead_code_eliminate.cpp \
245 1.1 mrg brw_vec4_generator.cpp \
246 1.2 mrg brw_vec4_gs_nir.cpp \
247 1.1 mrg brw_vec4_gs_visitor.cpp \
248 1.1 mrg brw_vec4_live_variables.cpp \
249 1.2 mrg brw_vec4_nir.cpp \
250 1.1 mrg brw_vec4_reg_allocate.cpp \
251 1.2 mrg brw_vec4_surface_builder.cpp \
252 1.2 mrg brw_vec4_tcs.cpp \
253 1.2 mrg brw_vec4_tes.cpp \
254 1.1 mrg brw_vec4_visitor.cpp \
255 1.1 mrg brw_vec4_vs_visitor.cpp \
256 1.1 mrg brw_vs.c \
257 1.1 mrg brw_vs_surface_state.c \
258 1.2 mrg brw_vue_map.c \
259 1.1 mrg brw_wm.c \
260 1.1 mrg brw_wm_iz.cpp \
261 1.1 mrg brw_wm_surface_state.c \
262 1.1 mrg gen6_clip_state.c \
263 1.2 mrg gen6_constant_state.c \
264 1.2 mrg gen6_gs_visitor.cpp \
265 1.1 mrg gen6_multisample_state.c \
266 1.1 mrg gen6_queryobj.c \
267 1.1 mrg gen6_sampler_state.c \
268 1.1 mrg gen6_sol.c \
269 1.1 mrg gen6_urb.c \
270 1.2 mrg gen7_l3_state.c \
271 1.1 mrg gen7_sol_state.c \
272 1.1 mrg gen7_urb.c \
273 1.1 mrg gen8_depth_state.c \
274 1.1 mrg gen8_multisample_state.c \
275 1.2 mrg hsw_queryobj.c \
276 1.2 mrg hsw_sol.c \
277 1.2 mrg isl.c \
278 1.2 mrg isl_drm.c \
279 1.2 mrg isl_format.c \
280 1.2 mrg isl_format_layout.c \
281 1.2 mrg isl_gen4.c \
282 1.2 mrg isl_gen6.c \
283 1.2 mrg isl_gen7.c \
284 1.2 mrg isl_gen8.c \
285 1.2 mrg isl_gen9.c \
286 1.2 mrg isl_storage_image.c \
287 1.2 mrg isl_tiled_memcpy.c \
288 1.2 mrg isl_tiled_memcpy_normal.c \
289 1.2 mrg isl_tiled_memcpy_sse41.c
290 1.1 mrg
291 1.1 mrg I965_INTEL_FILES = \
292 1.1 mrg intel_batchbuffer.c \
293 1.1 mrg intel_blit.c \
294 1.1 mrg intel_buffer_objects.c \
295 1.1 mrg intel_buffers.c \
296 1.1 mrg intel_copy_image.c \
297 1.1 mrg intel_extensions.c \
298 1.1 mrg intel_fbo.c \
299 1.1 mrg intel_mipmap_tree.c \
300 1.1 mrg intel_pixel.c \
301 1.1 mrg intel_pixel_bitmap.c \
302 1.1 mrg intel_pixel_copy.c \
303 1.1 mrg intel_pixel_draw.c \
304 1.1 mrg intel_pixel_read.c \
305 1.2 mrg intel_screen.c \
306 1.1 mrg intel_state.c \
307 1.1 mrg intel_tex.c \
308 1.1 mrg intel_tex_copy.c \
309 1.1 mrg intel_tex_image.c \
310 1.1 mrg intel_tex_validate.c \
311 1.1 mrg intel_upload.c
312 1.1 mrg
313 1.2 mrg
314 1.2 mrg INTEL_GENS_BLORP= 40 45 50 60 70 75 80 90 100 110
315 1.2 mrg
316 1.2 mrg .for _gen in ${INTEL_GENS_BLORP}
317 1.2 mrg BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/genX_state_upload.c ${_gen}_state_upload.c
318 1.2 mrg BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/genX_blorp_exec.c ${_gen}_blorp_exec.c
319 1.2 mrg BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/genX_pipe_control.c ${_gen}_pipe_control.c
320 1.2 mrg DRI_SOURCES.i965+= ${_gen}_state_upload.c ${_gen}_blorp_exec.c ${_gen}_pipe_control.c
321 1.2 mrg
322 1.2 mrg CPPFLAGS.${_gen}_state_upload.c+= -DGEN_VERSIONx10=${_gen}
323 1.2 mrg CPPFLAGS.${_gen}_blorp_exec.c+= -DGEN_VERSIONx10=${_gen}
324 1.2 mrg CPPFLAGS.${_gen}_pipe_control.c+= -DGEN_VERSIONx10=${_gen}
325 1.2 mrg .endfor
326 1.2 mrg
327 1.2 mrg INTEL_GENS_ISL= 40 50 60 70 75 80 90 100 110
328 1.2 mrg
329 1.2 mrg .for _gen in ${INTEL_GENS_ISL}
330 1.2 mrg BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/intel/isl/isl_emit_depth_stencil.c ${_gen}_isl_emit_depth_stencil.c
331 1.2 mrg BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/intel/isl/isl_surface_state.c ${_gen}_isl_surface_state.c
332 1.2 mrg DRI_SOURCES.i965+= ${_gen}_isl_emit_depth_stencil.c ${_gen}_isl_surface_state.c
333 1.2 mrg
334 1.2 mrg CPPFLAGS.${_gen}_isl_emit_depth_stencil.c+= -DGEN_VERSIONx10=${_gen} -I${X11SRCDIR.Mesa}/src/intel/isl/
335 1.2 mrg CPPFLAGS.${_gen}_isl_surface_state.c+= -DGEN_VERSIONx10=${_gen} -I${X11SRCDIR.Mesa}/src/intel/isl/
336 1.2 mrg .endfor
337 1.2 mrg
338 1.1 mrg .for _f in ${I965_INTEL_FILES}
339 1.1 mrg BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965/${_f} i965_${_f}
340 1.1 mrg DRI_SOURCES.i965+= i965_${_f}
341 1.1 mrg .endfor
342 1.1 mrg
343 1.2 mrg .for _f in ${DRI_SOURCES.i965}
344 1.2 mrg CPPFLAGS.${_f} += -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/i965 \
345 1.2 mrg -I${X11SRCDIR.Mesa}/src/intel \
346 1.2 mrg -I${X11SRCDIR.Mesa}/src/intel/compiler \
347 1.2 mrg -I${X11SRCDIR.Mesa}/../src/intel \
348 1.2 mrg -I${X11SRCDIR.Mesa}/src/compiler/nir \
349 1.2 mrg -I${X11SRCDIR.Mesa}/../src/compiler/nir
350 1.2 mrg .endfor
351 1.2 mrg
352 1.2 mrg # Needs mfence
353 1.2 mrg CPPFLAGS.brw_bufmgr.c+= -msse2
354 1.2 mrg
355 1.1 mrg DRI_SOURCES.r200 = \
356 1.1 mrg r200_context.c \
357 1.1 mrg r200_ioctl.c \
358 1.1 mrg r200_state.c \
359 1.1 mrg r200_state_init.c \
360 1.1 mrg r200_cmdbuf.c \
361 1.1 mrg r200_tex.c \
362 1.1 mrg r200_texstate.c \
363 1.1 mrg r200_tcl.c \
364 1.1 mrg r200_swtcl.c \
365 1.1 mrg r200_maos.c \
366 1.1 mrg r200_sanity.c \
367 1.1 mrg r200_fragshader.c \
368 1.1 mrg r200_vertprog.c \
369 1.1 mrg r200_blit.c
370 1.1 mrg
371 1.1 mrg R200_RADEON_FILES= \
372 1.1 mrg radeon_buffer_objects.c \
373 1.1 mrg radeon_common_context.c \
374 1.1 mrg radeon_common.c \
375 1.1 mrg radeon_dma.c \
376 1.1 mrg radeon_debug.c \
377 1.1 mrg radeon_fbo.c \
378 1.1 mrg radeon_fog.c \
379 1.1 mrg radeon_mipmap_tree.c \
380 1.1 mrg radeon_pixel_read.c \
381 1.1 mrg radeon_queryobj.c \
382 1.1 mrg radeon_span.c \
383 1.1 mrg radeon_texture.c \
384 1.1 mrg radeon_tex_copy.c \
385 1.1 mrg radeon_tile.c \
386 1.1 mrg radeon_screen.c
387 1.1 mrg
388 1.1 mrg .for _f in ${R200_RADEON_FILES}
389 1.1 mrg BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/radeon/${_f} r200_${_f}
390 1.1 mrg DRI_SOURCES.r200+= r200_${_f}
391 1.1 mrg .endfor
392 1.1 mrg
393 1.1 mrg .for _f in ${DRI_SOURCES.r200}
394 1.1 mrg CPPFLAGS.${_f} += -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/r200/server \
395 1.1 mrg -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/r200 \
396 1.1 mrg -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/radeon/server \
397 1.1 mrg -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/radeon \
398 1.1 mrg -DRADEON_R200
399 1.1 mrg .endfor
400 1.1 mrg
401 1.1 mrg DRI_SOURCES.radeon = \
402 1.1 mrg radeon_buffer_objects.c \
403 1.1 mrg radeon_common_context.c \
404 1.1 mrg radeon_common.c \
405 1.1 mrg radeon_dma.c \
406 1.1 mrg radeon_debug.c \
407 1.1 mrg radeon_fbo.c \
408 1.1 mrg radeon_fog.c \
409 1.1 mrg radeon_mipmap_tree.c \
410 1.1 mrg radeon_pixel_read.c \
411 1.1 mrg radeon_queryobj.c \
412 1.1 mrg radeon_span.c \
413 1.1 mrg radeon_texture.c \
414 1.1 mrg radeon_tex_copy.c \
415 1.1 mrg radeon_tile.c \
416 1.1 mrg radeon_context.c \
417 1.1 mrg radeon_ioctl.c \
418 1.1 mrg radeon_screen.c \
419 1.1 mrg radeon_state.c \
420 1.1 mrg radeon_state_init.c \
421 1.1 mrg radeon_tex.c \
422 1.1 mrg radeon_texstate.c \
423 1.1 mrg radeon_tcl.c \
424 1.1 mrg radeon_swtcl.c \
425 1.1 mrg radeon_maos.c \
426 1.1 mrg radeon_sanity.c \
427 1.1 mrg radeon_blit.c
428 1.1 mrg
429 1.1 mrg .for _f in ${DRI_SOURCES.radeon}
430 1.1 mrg CPPFLAGS.${_f} += -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/radeon/server \
431 1.1 mrg -I${X11SRCDIR.Mesa}/src/mesa/drivers/dri/radeon \
432 1.1 mrg -DRADEON_R100
433 1.1 mrg .endfor
434 1.1 mrg
435 1.1 mrg .for _d in ${DRI_SUBDIRS}
436 1.1 mrg SRCS+= ${DRI_SOURCES.${_d}}
437 1.1 mrg .PATH: ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/${_d}
438 1.1 mrg .endfor
439 1.1 mrg
440 1.2 mrg
441 1.1 mrg LIBDPLIBS+= expat ${NETBSDSRCDIR}/external/mit/expat/lib/libexpat
442 1.1 mrg LIBDPLIBS+= m ${NETBSDSRCDIR}/lib/libm
443 1.2 mrg LIBDPLIBS+= pthread ${NETBSDSRCDIR}/lib/libpthread
444 1.2 mrg LIBDPLIBS+= glapi ${.CURDIR}/../libglapi${OLD_SUFFIX}
445 1.1 mrg LIBDPLIBS+= drm ${.CURDIR}/../libdrm
446 1.1 mrg .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
447 1.1 mrg LIBDPLIBS+= drm_intel ${.CURDIR}/../libdrm_intel
448 1.1 mrg .endif
449 1.1 mrg LIBDPLIBS+= drm_radeon ${.CURDIR}/../libdrm_radeon
450 1.1 mrg
451 1.1 mrg MESA_SRC_MODULES= main math math_xform vbo tnl swrast ss common asm_c program asm_s
452 1.7 rjs .include "../libmesa${OLD_SUFFIX}.mk"
453 1.7 rjs .include "../libglsl${OLD_SUFFIX}.mk"
454 1.1 mrg
455 1.1 mrg .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
456 1.1 mrg SRCS+= streaming-load-memcpy.c
457 1.2 mrg CPPFLAGS.streaming-load-memcpy.c+= -msse4.1
458 1.2 mrg CPPFLAGS.isl_tiled_memcpy_sse41.c+= -msse4.1
459 1.1 mrg .endif
460 1.1 mrg
461 1.9 riastrad CWARNFLAGS.clang+= -Wno-error=atomic-alignment
462 1.9 riastrad CWARNFLAGS.clang+= -Wno-error=typedef-redefinition
463 1.2 mrg
464 1.7 rjs .include "../driver${OLD_SUFFIX}.mk"
465 1.1 mrg
466 1.1 mrg .for _d in ${DRIVERS}
467 1.1 mrg SYMLINKS+= mesa_dri_drivers.so.${SHLIB_MAJOR} ${DRIDIR}/${_d}_dri.so.${SHLIB_MAJOR}
468 1.1 mrg SYMLINKS+= ${_d}_dri.so.${SHLIB_MAJOR} ${DRIDIR}/${_d}_dri.so
469 1.1 mrg .if ${MKDEBUG} != "no"
470 1.1 mrg SYMLINKS+= mesa_dri_drivers.so.${SHLIB_MAJOR}.debug ${DRIDEBUGDIR}/${_d}_dri.so.${SHLIB_MAJOR}.debug
471 1.1 mrg .endif
472 1.1 mrg .endfor
473 1.1 mrg
474 1.1 mrg .endif
475 1.1 mrg
476 1.1 mrg PKGCONFIG= dri
477 1.2 mrg PKGDIST.dri= ${X11SRCDIR.Mesa}/../src/pkgconfig
478 1.7 rjs .include "${.CURDIR}/../libGL${OLD_SUFFIX}/mesa-ver.mk"
479 1.1 mrg PKGCONFIG_VERSION.dri= ${MESA_VER}
480 1.1 mrg
481 1.1 mrg # XXX remove these from bsd.x11.mk
482 1.1 mrg PKGCONFIG_SED_FLAGS= \
483 1.1 mrg -e "s,@DRI_DRIVER_INSTALL_DIR@,${X11USRLIBDIR}/modules/dri,; \
484 1.1 mrg s,@DRI_PC_REQ_PRIV@,,"
485 1.1 mrg
486 1.2 mrg .PATH: ${X11SRCDIR.Mesa}/src/util
487 1.2 mrg
488 1.1 mrg FILESDIR= /etc
489 1.2 mrg BUILDSYMLINKS+= 00-mesa-defaults.conf drirc
490 1.1 mrg FILES= drirc
491 1.1 mrg
492 1.1 mrg .PATH: ${X11SRCDIR.Mesa}/src/mesa/drivers/dri/common
493 1.1 mrg
494 1.1 mrg .include <bsd.x11.mk>
495 1.2 mrg .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" || \
496 1.2 mrg ${MACHINE} == "evbarm"
497 1.1 mrg LIBDIR= ${X11USRLIBDIR}/modules/dri
498 1.1 mrg
499 1.1 mrg CWARNFLAGS.clang+= -Wno-error=initializer-overrides -Wno-error=switch \
500 1.2 mrg -Wno-error=tautological-constant-out-of-range-compare \
501 1.2 mrg -Wno-error=enum-conversion \
502 1.2 mrg -Wno-error=implicit-int-float-conversion \
503 1.2 mrg -Wno-error=tautological-constant-compare \
504 1.2 mrg -Wno-c99-designator -Wno-xor-used-as-pow
505 1.2 mrg
506 1.2 mrg COPTS+= -Wno-error=stack-protector
507 1.1 mrg
508 1.2 mrg COPTS.u_atomic.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-builtin-declaration-mismatch :}
509 1.1 mrg
510 1.3 christos COPTS.brw_eu_compact.c+= -Wno-error=stack-protector
511 1.3 christos COPTS.brw_fs_copy_propagation.cpp+= -Wno-error=stack-protector
512 1.3 christos COPTS.brw_fs.cpp+= -Wno-error=stack-protector
513 1.3 christos COPTS.brw_fs_reg_allocate.cpp+= -Wno-error=stack-protector
514 1.3 christos
515 1.8 mrg COPTS.prog_opt_constant_fold.c+= ${CC_WNO_STRINGOP_OVERREAD}
516 1.8 mrg COPTS.s_texfilter.c+= ${CC_WNO_STRINGOP_OVERREAD}
517 1.8 mrg
518 1.1 mrg .include <bsd.lib.mk>
519 1.1 mrg .else
520 1.1 mrg .include <bsd.inc.mk>
521 1.1 mrg .endif
522 1.1 mrg # Don't re-build .c files when .y files change
523 1.1 mrg .y.c:
524