1 # $NetBSD: Makefile,v 1.20 2014/12/15 00:20:29 mrg Exp $ 2 3 .include <bsd.own.mk> 4 5 LIB= GL 6 LIBISCXX= yes 7 8 SUBDIR= internal 9 10 # glx 11 .PATH: ${X11SRCDIR.MesaLib}/src/glx 12 SRCS.glx= clientattrib.c compsize.c eval.c glxconfig.c glxcmds.c \ 13 glxext.c glxextensions.c indirect_glx.c indirect.c \ 14 indirect_init.c indirect_size.c indirect_window_pos.c \ 15 indirect_transpose_matrix.c indirect_vertex_array.c \ 16 indirect_vertex_program.c pixel.c pixelstore.c render2.c \ 17 renderpix.c single2.c singlepix.c vertarr.c xfont.c \ 18 glx_pbuffer.c glx_query.c \ 19 glxcurrent.c indirect_texture_compression.c 20 21 # XXX see TODO 22 #.if ${MACHINE_ARCH} == "i386" 23 #.PATH: ${X11SRCDIR.MesaLib}/src/mesa/x86 24 #SRCS.glx+= glapi_x86.S 25 #CPPFLAGS+= -DUSE_X86_ASM -I${X11SRCDIR.MesaLib}/src/mesa/x86 26 ## -DUSE_X86_ASM $(MMX_DEFS) $(3DNOW_DEFS) $(SSE_DEFS) 27 #.endif 28 29 30 .if ${X11DRI} != "no" 31 # dri 32 SRCS.dri= XF86dri.c dri_glx.c drisw_glx.c dri_common.c \ 33 glxhash.c dri2_glx.c dri2.c 34 .for fn in ${SRCS.dri} 35 CPPFLAGS.${fn}=-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\" 36 .endfor 37 .endif 38 39 # MAPI stuff. 40 .PATH: ${X11SRCDIR.MesaLib}/src/mapi/mapi 41 SRCS.mapi= \ 42 u_current.c \ 43 u_execmem.c \ 44 u_thread.c 45 46 # XXX Why don't we just link against libmesa? 47 MESA_SRC_MODULES= main math vbo tnl program swrast glapi common ss 48 49 .include "../libOSMesa/libmesa.mk" 50 51 .PATH: ${X11SRCDIR.MesaLib}/src/glw 52 .PATH: ${X11SRCDIR.MesaLib}/include/GL 53 .PATH: ${X11SRCDIR.MesaLib}/src/mesa/drivers/x11 54 INCS= GLwDrawA.h GLwDrawAP.h GLwMDrawA.h GLwMDrawAP.h gl.h gl_mangle.h \ 55 glext.h glx.h glx_mangle.h glxext.h xmesa.h xmesa_x.h \ 56 xmesa_xf86.h 57 INCSDIR=${X11INCDIR}/GL 58 59 # XXX Create a separate libglsl rather than copying this... 60 .include "Makefile.glslsrcs" 61 62 SRCS+= ${SRCS.dri} ${SRCS.glx} ${SRCS.glsl} ${SRCS.mapi} 63 64 CPPFLAGS+= \ 65 -I${X11SRCDIR.MesaLib}/include \ 66 -I${X11SRCDIR.MesaLib}/include/GL/internal \ 67 -I${X11SRCDIR.MesaLib}/src/mesa \ 68 -I${X11SRCDIR.MesaLib}/src/mapi \ 69 -I${X11SRCDIR.MesaLib}/src/mapi/glapi \ 70 -I${DESTDIR}${X11INCDIR}/libdrm \ 71 -I${DESTDIR}${X11INCDIR}/GL \ 72 -I${DESTDIR}${X11INCDIR}/X11 \ 73 -I${DESTDIR}${X11INCDIR}/X11/extensions 74 75 # XXX ? 76 # -I${X11SRCDIR.dri2proto}/src/mesa \ 77 78 CPPFLAGS+= ${X11FLAGS.THREADLIB} 79 80 CFLAGS+= -fno-strict-aliasing -fvisibility=hidden -pthread 81 CPPFLAGS+= -DUSE_SSE_SYSCTL_DETECTION \ 82 -D__GLX_ALIGN64 \ 83 -DMESA_EXECMEM_MMAP \ 84 -DEXEC_HEAP_SIZE=10485760 \ 85 -D_NETBSD_SOURCE \ 86 -DUSE_NATIVE_LIBM_FUNCS \ 87 -DPTHREADS \ 88 -DUSE_EXTERNAL_DXTN_LIB=1 \ 89 -DIN_DRI_DRIVER \ 90 -DGLX_DIRECT_RENDERING \ 91 -DGLX_INDIRECT_RENDERING \ 92 -DHZ=100 \ 93 -DHAVE_ALIAS \ 94 -DXF86VIDMODE \ 95 -UIN_DRI_DRIVER \ 96 -DMAPI_MODE_UTIL 97 98 LIBDPLIBS= Xext ${.CURDIR}/../libXext \ 99 X11 ${.CURDIR}/../libX11/dynamic \ 100 Xxf86vm ${.CURDIR}/../libXxf86vm \ 101 Xfixes ${.CURDIR}/../libXfixes \ 102 Xdamage ${.CURDIR}/../libXdamage \ 103 drm ${.CURDIR}/../libdrm \ 104 m ${.CURDIR}/../../../../../lib/libm 105 106 MKLINT=no 107 108 PKGCONFIG= gl 109 PKGDIST.gl= ${X11SRCDIR.MesaLib}/src/mesa 110 .include "${.CURDIR}/../libGL/mesa-ver.mk" 111 PKGCONFIG_VERSION.gl= ${MESA_VER} 112 113 CWARNFLAGS.clang+= -Wno-tautological-compare -Wno-format -Wno-constant-conversion 114 115 .include <bsd.x11.mk> 116 .include <bsd.lib.mk> 117 .include <bsd.subdir.mk> 118