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