1 1.35 maya # $NetBSD: Makefile,v 1.35 2024/04/22 03:38:49 maya Exp $ 2 1.1 mrg 3 1.1 mrg .include <bsd.own.mk> 4 1.1 mrg 5 1.32 mrg .include "../mesa-which.mk" 6 1.32 mrg 7 1.1 mrg LIB= GL 8 1.19 riastrad LIBISCXX= yes 9 1.1 mrg 10 1.11 mrg SUBDIR= internal 11 1.11 mrg 12 1.1 mrg # glx 13 1.22 mrg .PATH: ${X11SRCDIR.Mesa}/src/glx 14 1.21 mrg SRCS.glx= \ 15 1.21 mrg clientattrib.c \ 16 1.21 mrg clientinfo.c \ 17 1.21 mrg compsize.c \ 18 1.21 mrg create_context.c \ 19 1.21 mrg eval.c \ 20 1.23 mrg glx_error.c \ 21 1.23 mrg glx_pbuffer.c \ 22 1.23 mrg glx_query.c \ 23 1.23 mrg glxcmds.c \ 24 1.21 mrg glxconfig.c \ 25 1.23 mrg MESAindirect.c \ 26 1.23 mrg MESAindirect_init.c \ 27 1.23 mrg MESAindirect_size.c \ 28 1.23 mrg MESAindirect_window_pos.c \ 29 1.21 mrg glxcurrent.c \ 30 1.21 mrg glxext.c \ 31 1.21 mrg glxextensions.c \ 32 1.23 mrg glxhash.c \ 33 1.21 mrg indirect_glx.c \ 34 1.21 mrg indirect_texture_compression.c \ 35 1.21 mrg indirect_transpose_matrix.c \ 36 1.21 mrg indirect_vertex_array.c \ 37 1.21 mrg indirect_vertex_program.c \ 38 1.21 mrg pixel.c \ 39 1.21 mrg pixelstore.c \ 40 1.21 mrg query_renderer.c \ 41 1.21 mrg render2.c \ 42 1.21 mrg renderpix.c \ 43 1.21 mrg single2.c \ 44 1.21 mrg singlepix.c \ 45 1.21 mrg vertarr.c \ 46 1.21 mrg 47 1.23 mrg SRCS+= UTILdebug.c 48 1.23 mrg CPPFLAGS.UTILdebug.c+= -I${X11SRCDIR.Mesa}/src/util \ 49 1.23 mrg -I${X11SRCDIR.Mesa}/src/mesa \ 50 1.23 mrg -I${X11SRCDIR.Mesa}/src \ 51 1.23 mrg -I${X11SRCDIR.Mesa}/src/gallium/include 52 1.23 mrg 53 1.34 rjs 54 1.34 rjs BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/../src/mapi/glapi/gen/indirect_init.c MESAindirect_init.c 55 1.23 mrg BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/glx/indirect_window_pos.c MESAindirect_window_pos.c 56 1.34 rjs BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/../src/mapi/glapi/gen/indirect.c MESAindirect.c 57 1.34 rjs BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/../src/mapi/glapi/gen/indirect_size.c MESAindirect_size.c 58 1.23 mrg BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/util/debug.c UTILdebug.c 59 1.23 mrg 60 1.23 mrg # glapi 61 1.23 mrg .PATH: ${X11SRCDIR.Mesa}/src/mapi 62 1.23 mrg .PATH: ${X11SRCDIR.Mesa}/src/mapi/glapi 63 1.28 maya #SRCS.glapi= glapi_gentable.c 64 1.23 mrg 65 1.28 maya .PATH: ${X11SRCDIR.Mesa}/src/mesa/x86 66 1.28 maya .PATH: ${X11SRCDIR.Mesa}/src/mesa/x86-64 67 1.28 maya .PATH: ${X11SRCDIR.Mesa}/src/mesa/sparc 68 1.28 maya 69 1.28 maya SRCS.i386.glx= common_x86_asm.S \ 70 1.28 maya x86_xform2.S \ 71 1.28 maya x86_xform3.S \ 72 1.28 maya x86_xform4.S \ 73 1.28 maya x86_cliptest.S \ 74 1.28 maya mmx_blend.S \ 75 1.28 maya 3dnow_xform1.S \ 76 1.28 maya 3dnow_xform2.S \ 77 1.28 maya 3dnow_xform3.S \ 78 1.28 maya 3dnow_xform4.S \ 79 1.28 maya sse_xform1.S \ 80 1.28 maya sse_xform2.S \ 81 1.28 maya sse_xform3.S \ 82 1.28 maya sse_xform4.S \ 83 1.28 maya sse_normal.S \ 84 1.28 maya read_rgba_span_x86.S 85 1.28 maya SRCS.x86_64.glx= xform4.S 86 1.28 maya SRCS.sparc.glx= xform.S norm.S sparc_clip.S 87 1.27 christos 88 1.27 christos .if !empty(SRCS.${MACHINE_ARCH}.glx) 89 1.27 christos SRCS.glx += ${SRCS.${XORG_MACHINE_ARCH:U${MACHINE_ARCH}}.glx} 90 1.28 maya .endif 91 1.23 mrg SRCS.glapi+= entry.c 92 1.21 mrg 93 1.21 mrg .for _f in ${SRCS.glx} 94 1.34 rjs CPPFLAGS.${_f}= -I${X11SRCDIR.Mesa}/../src/mapi/glapi/gen \ 95 1.23 mrg -I${X11SRCDIR.Mesa}/src \ 96 1.34 rjs -I${X11SRCDIR.Mesa}/src/mesa \ 97 1.28 maya -I${X11SRCDIR.Mesa}/../src/mesa \ 98 1.23 mrg -DGLX_SHARED_GLAPI 99 1.21 mrg .endfor 100 1.21 mrg 101 1.21 mrg .for _f in ${SRCS.glapi} 102 1.21 mrg CPPFLAGS.${_f}= -DMAPI_MODE_BRIDGE \ 103 1.34 rjs -DMAPI_ABI_HEADER=\"glapi/gen/glapi_mapi_tmp.h\" \ 104 1.23 mrg -I${X11SRCDIR.Mesa}/src \ 105 1.28 maya -I${X11SRCDIR.Mesa}/../src/mapi 106 1.21 mrg .endfor 107 1.21 mrg 108 1.1 mrg 109 1.1 mrg .if ${X11DRI} != "no" 110 1.1 mrg # dri 111 1.21 mrg SRCS.dri= \ 112 1.23 mrg dri_common.c \ 113 1.23 mrg dri_common_query_renderer.c \ 114 1.23 mrg dri_common_interop.c \ 115 1.23 mrg xfont.c \ 116 1.23 mrg drisw_glx.c \ 117 1.23 mrg dri2.c \ 118 1.34 rjs dri2_glx.c 119 1.23 mrg 120 1.1 mrg .for fn in ${SRCS.dri} 121 1.23 mrg CPPFLAGS.${fn}= \ 122 1.29 maya -I${X11SRCDIR.Mesa}/src \ 123 1.29 maya -DGL_LIB_NAME="\"libGL.so.${SHLIB_MAJOR}\"" 124 1.1 mrg .endfor 125 1.1 mrg .endif 126 1.1 mrg 127 1.34 rjs SRCS.util+= \ 128 1.34 rjs ralloc.c \ 129 1.34 rjs os_file.c \ 130 1.34 rjs mesa-sha1.c \ 131 1.34 rjs u_printf.cpp \ 132 1.34 rjs u_process.c 133 1.34 rjs 134 1.34 rjs CPPFLAGS.ralloc.c += -I${X11SRCDIR.Mesa}/src 135 1.34 rjs CPPFLAGS.u_printf.cpp += -I${X11SRCDIR.Mesa}/src 136 1.23 mrg 137 1.21 mrg .include "../libloader.mk" 138 1.1 mrg 139 1.22 mrg .PATH: ${X11SRCDIR.Mesa}/src/glw 140 1.22 mrg .PATH: ${X11SRCDIR.Mesa}/include/GL 141 1.22 mrg .PATH: ${X11SRCDIR.Mesa}/src/mesa/drivers/x11 142 1.34 rjs INCS= gl.h glcorearb.h glext.h \ 143 1.34 rjs glx.h glxext.h \ 144 1.23 mrg osmesa.h wglext.h 145 1.1 mrg INCSDIR=${X11INCDIR}/GL 146 1.1 mrg 147 1.15 mrg 148 1.23 mrg SRCS+= ${SRCS.dri} ${SRCS.util} ${SRCS.glx} ${SRCS.glapi} 149 1.1 mrg 150 1.19 riastrad CPPFLAGS+= \ 151 1.22 mrg -I${X11SRCDIR.Mesa}/include \ 152 1.22 mrg -I${X11SRCDIR.Mesa}/include/GL/internal \ 153 1.22 mrg -I${X11SRCDIR.Mesa}/src/loader \ 154 1.22 mrg -I${X11SRCDIR.Mesa}/src/mapi \ 155 1.22 mrg -I${X11SRCDIR.Mesa}/src/mapi/glapi \ 156 1.22 mrg -I${X11SRCDIR.Mesa}/../src/mapi/glapi \ 157 1.22 mrg -I${X11SRCDIR.Mesa}/src/glx \ 158 1.19 riastrad -I${DESTDIR}${X11INCDIR}/libdrm \ 159 1.19 riastrad -I${DESTDIR}${X11INCDIR}/GL \ 160 1.19 riastrad -I${DESTDIR}${X11INCDIR}/X11 \ 161 1.19 riastrad -I${DESTDIR}${X11INCDIR}/X11/extensions 162 1.1 mrg 163 1.21 mrg CPPFLAGS+= ${X11FLAGS.THREADLIB} 164 1.7 mrg 165 1.21 mrg # -D_NETBSD_SOURCE \ 166 1.19 riastrad 167 1.21 mrg # old 168 1.21 mrg CPPFLAGS+= -D__GLX_ALIGN64 \ 169 1.1 mrg -DXF86VIDMODE \ 170 1.21 mrg -DGLX_SHARED_GLAPI 171 1.1 mrg 172 1.21 mrg # new 173 1.21 mrg CPPFLAGS+= \ 174 1.21 mrg -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 \ 175 1.21 mrg -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 \ 176 1.21 mrg -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 \ 177 1.23 mrg -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DYYTEXT_POINTER=1 \ 178 1.23 mrg -DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 \ 179 1.23 mrg -DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 \ 180 1.23 mrg -DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 \ 181 1.23 mrg -DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 \ 182 1.23 mrg -DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 \ 183 1.23 mrg -DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \ 184 1.23 mrg -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \ 185 1.23 mrg -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \ 186 1.23 mrg -DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \ 187 1.23 mrg -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \ 188 1.23 mrg -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \ 189 1.23 mrg -DHAVE_FUNC_ATTRIBUTE_WEAK=1 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \ 190 1.23 mrg -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 -DHAVE_ENDIAN_H=1 -DHAVE_DLADDR=1 \ 191 1.23 mrg -DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 \ 192 1.23 mrg -DHAVE_PTHREAD=1 -DENABLE_ST_OMX_BELLAGIO=0 -DENABLE_ST_OMX_TIZONIA=0 \ 193 1.31 nia -DHAVE_TIMESPEC_GET -DGLX_USE_TLS 194 1.21 mrg 195 1.21 mrg .include "../asm.mk" 196 1.21 mrg 197 1.21 mrg CPPFLAGS+= \ 198 1.21 mrg -DHAVE_LIBDRM -DGLX_USE_DRM \ 199 1.21 mrg -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING \ 200 1.21 mrg -DHAVE_ALIAS -DMESA_EGL_NO_X11_HEADERS 201 1.21 mrg 202 1.21 mrg CPPFLAGS+= \ 203 1.21 mrg -DUSE_EXTERNAL_DXTN_LIB=1 \ 204 1.21 mrg -DYYTEXT_POINTER=1 205 1.21 mrg 206 1.21 mrg CFLAGS+= -fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp 207 1.21 mrg CFLAGS+= -pthread 208 1.21 mrg 209 1.21 mrg LIBDPLIBS= Xext ${.CURDIR}/../libXext \ 210 1.21 mrg X11 ${.CURDIR}/../libX11/dynamic \ 211 1.21 mrg Xxf86vm ${.CURDIR}/../libXxf86vm \ 212 1.21 mrg Xfixes ${.CURDIR}/../libXfixes \ 213 1.21 mrg Xdamage ${.CURDIR}/../libXdamage \ 214 1.32 mrg glapi ${.CURDIR}/../libglapi${OLD_SUFFIX} \ 215 1.21 mrg drm ${.CURDIR}/../libdrm \ 216 1.21 mrg X11-xcb ${.CURDIR}/../libX11/libX11-xcb \ 217 1.21 mrg xcb-dri2 ${.CURDIR}/../libxcb/dri2 \ 218 1.21 mrg xcb-glx ${.CURDIR}/../libxcb/glx \ 219 1.34 rjs xcb-shm ${.CURDIR}/../libxcb/shm \ 220 1.35 maya xcb-sync ${.CURDIR}/../libxcb/sync \ 221 1.21 mrg expat ${NETBSDSRCDIR}/external/mit/expat/lib/libexpat \ 222 1.25 maya m ${NETBSDSRCDIR}/lib/libm \ 223 1.25 maya pthread ${NETBSDSRCDIR}/lib/libpthread 224 1.1 mrg 225 1.1 mrg MKLINT=no 226 1.1 mrg 227 1.3 cube PKGCONFIG= gl 228 1.28 maya PKGDIST.gl= ${X11SRCDIR.Mesa}/../src/pkgconfig 229 1.34 rjs .include "${.CURDIR}/../libGL${OLD_SUFFIX}/mesa-ver.mk" 230 1.16 mrg PKGCONFIG_VERSION.gl= ${MESA_VER} 231 1.3 cube 232 1.21 mrg # XXX remove these from bsd.x11.mk 233 1.26 mrg 234 1.21 mrg PKGCONFIG_SED_FLAGS= \ 235 1.24 maya -e "s,@GL_PC_REQ_PRIV@,libdrm x11 xext xdamage xfixes xcb-glx xcb-dri2 xxf86vm,; \ 236 1.24 maya s,@GL_PKGCONF_LIB@,GL,; \ 237 1.24 maya s,@GL_PC_LIB_PRIV@,-lm -lpthread -pthread,; \ 238 1.21 mrg s,@GL_PC_CFLAGS@,,; \ 239 1.31 nia s,@GLX_TLS@,yes," 240 1.21 mrg 241 1.21 mrg 242 1.23 mrg CWARNFLAGS.clang+= -Wno-tautological-compare -Wno-format -Wno-constant-conversion \ 243 1.23 mrg -Wno-error=incompatible-pointer-types -Wno-error=atomic-alignment 244 1.33 lukem CWARNFLAGS.gcc+= ${CC_WNO_STRINGOP_OVERFLOW} 245 1.17 joerg 246 1.1 mrg .include <bsd.x11.mk> 247 1.1 mrg .include <bsd.lib.mk> 248 1.11 mrg .include <bsd.subdir.mk> 249