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