Home | History | Annotate | Line # | Download | only in libGL
Makefile revision 1.23
      1 #	$NetBSD: Makefile,v 1.23 2019/03/10 10:51:58 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.Mesa}/src/glx
     12 SRCS.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 
     45 SRCS+=	UTILdebug.c
     46 CPPFLAGS.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 
     51 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/glx/indirect_init.c MESAindirect_init.c
     52 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/glx/indirect_window_pos.c MESAindirect_window_pos.c
     53 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/glx/indirect.c MESAindirect.c
     54 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/glx/indirect_size.c MESAindirect_size.c
     55 BUILDSYMLINKS+=	${X11SRCDIR.Mesa}/src/util/debug.c UTILdebug.c
     56 
     57 # glapi
     58 .PATH:		${X11SRCDIR.Mesa}/src/mapi
     59 .PATH:		${X11SRCDIR.Mesa}/src/mapi/glapi
     60 SRCS.glapi=	glapi_gentable.c
     61 
     62 .PATH:		${X11SRCDIR.Mesa}/src/mapi/glapi
     63 .if ${MACHINE_ARCH} == "i386"
     64 SRCS.glx+=			glapi_x86.S
     65 .elif ${MACHINE_ARCH} == "x86_64"
     66 SRCS.glx+=			glapi_x86-64.S
     67 .elif ${MACHINE_ARCH} == "sparc"
     68 SRCS.glx+=			glapi_sparc.S
     69 .else
     70 SRCS.glapi+=			entry.c
     71 .endif
     72 
     73 .for _f in ${SRCS.glx}
     74 CPPFLAGS.${_f}= -I${X11SRCDIR.Mesa}/../src/mapi/glapi \
     75 		-I${X11SRCDIR.Mesa}/src \
     76 		-I${X11SRCDIR.Mesa}/src/mesa \
     77 		-DGLX_SHARED_GLAPI
     78 .endfor
     79 
     80 .for _f in ${SRCS.glapi}
     81 CPPFLAGS.${_f}= -DMAPI_MODE_BRIDGE \
     82 		-DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\" \
     83 		-I${X11SRCDIR.Mesa}/src \
     84 		-I${X11SRCDIR.Mesa}/src/mesa
     85 .endfor
     86 
     87 
     88 .if ${X11DRI} != "no"
     89 # dri
     90 SRCS.dri=	\
     91 	dri_common.c \
     92 	dri_common_query_renderer.c \
     93 	dri_common_interop.c \
     94 	xfont.c \
     95 	drisw_glx.c \
     96 	dri2.c \
     97 	dri2_glx.c \
     98 	dri_glx.c \
     99 	XF86dri.c
    100 
    101 .for fn in ${SRCS.dri}
    102 CPPFLAGS.${fn}= \
    103 	-DGL_LIB_NAME=\"libGL.so.3\" \
    104 	-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\" \
    105 	-I${X11SRCDIR.Mesa}/src
    106 .endfor
    107 .endif
    108 
    109 SRCS.util+=	u_process.c
    110 
    111 .include "../libloader.mk"
    112 
    113 .PATH:		${X11SRCDIR.Mesa}/src/glw
    114 .PATH:		${X11SRCDIR.Mesa}/include/GL
    115 .PATH:		${X11SRCDIR.Mesa}/src/mesa/drivers/x11
    116 INCS=	gl.h gl_mangle.h glcorearb.h glext.h \
    117 	glx.h glx_mangle.h glxext.h \
    118 	osmesa.h wglext.h
    119 INCSDIR=${X11INCDIR}/GL
    120 
    121 
    122 SRCS+=	${SRCS.dri} ${SRCS.util} ${SRCS.glx} ${SRCS.glapi}
    123 
    124 CPPFLAGS+= \
    125 	-I${X11SRCDIR.Mesa}/include \
    126 	-I${X11SRCDIR.Mesa}/include/GL/internal \
    127 	-I${X11SRCDIR.Mesa}/src/loader \
    128 	-I${X11SRCDIR.Mesa}/src/mapi \
    129 	-I${X11SRCDIR.Mesa}/src/mapi/glapi \
    130 	-I${X11SRCDIR.Mesa}/../src/mapi/glapi \
    131 	-I${X11SRCDIR.Mesa}/src/glx \
    132 	-I${DESTDIR}${X11INCDIR}/libdrm \
    133 	-I${DESTDIR}${X11INCDIR}/GL \
    134 	-I${DESTDIR}${X11INCDIR}/X11 \
    135 	-I${DESTDIR}${X11INCDIR}/X11/extensions
    136 
    137 CPPFLAGS+=	${X11FLAGS.THREADLIB}
    138 
    139 #		-D_NETBSD_SOURCE \
    140 
    141 # old
    142 CPPFLAGS+=	-D__GLX_ALIGN64 \
    143 		-DXF86VIDMODE \
    144 		-DGLX_SHARED_GLAPI
    145 
    146 # new
    147 CPPFLAGS+=	\
    148 	-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 \
    149 	-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 \
    150 	-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 \
    151 	-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DYYTEXT_POINTER=1 \
    152 	-DHAVE___BUILTIN_BSWAP32=1 -DHAVE___BUILTIN_BSWAP64=1 \
    153 	-DHAVE___BUILTIN_CLZ=1 -DHAVE___BUILTIN_CLZLL=1 \
    154 	-DHAVE___BUILTIN_CTZ=1 -DHAVE___BUILTIN_EXPECT=1 \
    155 	-DHAVE___BUILTIN_FFS=1 -DHAVE___BUILTIN_FFSLL=1 \
    156 	-DHAVE___BUILTIN_POPCOUNT=1 -DHAVE___BUILTIN_POPCOUNTLL=1 \
    157 	-DHAVE___BUILTIN_UNREACHABLE=1 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
    158 	-DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
    159 	-DHAVE_FUNC_ATTRIBUTE_MALLOC=1 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
    160 	-DHAVE_FUNC_ATTRIBUTE_PURE=1 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
    161 	-DHAVE_FUNC_ATTRIBUTE_UNUSED=1 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
    162 	-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
    163 	-DHAVE_FUNC_ATTRIBUTE_WEAK=1 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
    164 	-DHAVE_FUNC_ATTRIBUTE_NORETURN=1 -DHAVE_ENDIAN_H=1 -DHAVE_DLADDR=1 \
    165 	-DHAVE_CLOCK_GETTIME=1 -DHAVE_PTHREAD_PRIO_INHERIT=1 \
    166 	-DHAVE_PTHREAD=1 -DENABLE_ST_OMX_BELLAGIO=0 -DENABLE_ST_OMX_TIZONIA=0 \
    167 	-DHAVE_TIMESPEC_GET -DGLX_USE_TLS
    168 
    169 .include "../asm.mk"
    170 
    171 CPPFLAGS+=	\
    172 	-DHAVE_LIBDRM -DGLX_USE_DRM \
    173 	-DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING \
    174 	-DHAVE_ALIAS -DMESA_EGL_NO_X11_HEADERS
    175 
    176 CPPFLAGS+=	\
    177 	-DUSE_EXTERNAL_DXTN_LIB=1 \
    178 	-DYYTEXT_POINTER=1
    179 
    180 CFLAGS+=	-fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp
    181 CFLAGS+=	-pthread
    182 
    183 LIBDPLIBS=	Xext		${.CURDIR}/../libXext \
    184 		X11		${.CURDIR}/../libX11/dynamic \
    185 		Xxf86vm		${.CURDIR}/../libXxf86vm \
    186 		Xfixes		${.CURDIR}/../libXfixes \
    187 		Xdamage		${.CURDIR}/../libXdamage \
    188 		glapi		${.CURDIR}/../libglapi \
    189 		drm		${.CURDIR}/../libdrm \
    190 		X11-xcb		${.CURDIR}/../libX11/libX11-xcb \
    191 		xcb-dri2	${.CURDIR}/../libxcb/dri2 \
    192 		xcb-glx		${.CURDIR}/../libxcb/glx \
    193 		expat		${NETBSDSRCDIR}/external/mit/expat/lib/libexpat \
    194 		m		${NETBSDSRCDIR}/lib/libm
    195 
    196 MKLINT=no
    197 
    198 PKGCONFIG=	gl
    199 PKGDIST.gl=	${X11SRCDIR.Mesa}/src/mesa
    200 .include "${.CURDIR}/../libGL/mesa-ver.mk"
    201 PKGCONFIG_VERSION.gl=	${MESA_VER}
    202 
    203 # XXX remove these from bsd.x11.mk
    204 # XXX enable GLX TLS?  it's enabled in the code, but not here..
    205 PKGCONFIG_SED_FLAGS= \
    206 	-e "s,@GL_PC_REQ_PRIV@,x11 xext,; \
    207 	    s,@GL_LIB@,GL,; \
    208 	    s,@GL_PC_LIB_PRIV@,-lm -lpthread,; \
    209 	    s,@GL_PC_CFLAGS@,,; \
    210 	    s,@GLX_TLS@,no,"
    211 
    212 
    213 CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-format -Wno-constant-conversion \
    214 			-Wno-error=incompatible-pointer-types -Wno-error=atomic-alignment
    215 .if ${HAVE_GCC:U0} >= 7
    216 CWARNFLAGS.gcc+=	-Wno-error=stringop-overflow
    217 .endif
    218 
    219 .include <bsd.x11.mk>
    220 .include <bsd.lib.mk>
    221 .include <bsd.subdir.mk>
    222