#	$OpenBSD: Makefile,v 1.12 2025/06/07 08:49:51 jsg Exp $

.include <bsd.xconf.mk>

LIB=	GL

SRCS=	clientattrib.c \
	clientinfo.c \
	compsize.c \
	create_context.c \
	dri_common.c \
	dri_common_query_renderer.c \
	drisw_glx.c \
	eval.c \
	glx_error.c \
	glx_pbuffer.c \
	glx_query.c \
	glxcmds.c \
	glxconfig.c \
	glxcurrent.c \
	glxext.c \
	glxextensions.c \
	glxhash.c \
	indirect_glx.c \
	indirect_texture_compression.c \
	indirect_transpose_matrix.c \
	indirect_vertex_array.c \
	indirect_vertex_program.c \
	indirect_window_pos.c \
	pixel.c \
	pixelstore.c \
	query_renderer.c \
	render2.c \
	renderpix.c \
	single2.c \
	singlepix.c \
	vertarr.c \
	xfont.c

# generated
SRCS+=	indirect.c \
	indirect_init.c \
	indirect_size.c

.if ${XENOCARA_BUILD_DRI:L} == "yes"
SRCS+=	dri2.c \
	dri2_glx.c
.endif

.if ${XENOCARA_BUILD_DRI3:L} == "yes"
SRCS+=	dri3_glx.c
.endif

.include "../Makefile.inc"

CFLAGS+=	${C_VIS_ARGS}
CPPFLAGS+=	-I${MESA_SRC}/src/glx \
		-I${MESA_SRC}/src/loader \
		-I${MESA_SRC}/src/mapi/glapi \
		-I${MESA_SRC}/src/mesa \
		-I${MESA_SRC}/src/gallium/include \
		-I${MESA_SRC}/src/gallium/auxiliary \
		-I${MESA_SRC}/src/gallium/frontends/dri \
		-I${MESA_SRC}/src/x11 \
		-I${MESA_SRC}/generated/src \
		-I${MESA_SRC}/generated/src/mapi/glapi/gen

LDADD+=	-L${.CURDIR}/../libglapi/${__objdir} -lglapi \
	-Wl,--start-group \
	${.CURDIR}/../libglapi_static/${__objdir}/libglapi_static.a \
	${.CURDIR}/../libmesa_util_c11/${__objdir}/libmesa_util_c11.a \
	${.CURDIR}/../libloader/${__objdir}/libloader.a \
	${.CURDIR}/../libloader_x11/${__objdir}/libloader_x11.a \
	${.CURDIR}/../libpipe_loader_dynamic/${__objdir}/libpipe_loader_dynamic.a \
	${.CURDIR}/../libxmlconfig/${__objdir}/libxmlconfig.a \
	${.CURDIR}/../libmesa_util/${__objdir}/libmesa_util.a \
	${.CURDIR}/../libmesa_util_sse41/${__objdir}/libmesa_util_sse41.a \
	-Wl,-Bsymbolic -Wl,--gc-sections

LDADD+=	-L${X11BASE}/lib -lexpat -lX11-xcb -lxcb-glx \
	-lxcb-shm -lXxf86vm -lXext -lX11 -lxcb -lxcb-xfixes \
	-ldrm -lm -lXfixes -lxcb-dri2 \
	-L${.CURDIR}/../libgallium_dri/${__objdir} -lgallium_dri

.if ${XENOCARA_BUILD_DRI3:L} == "yes"
LDADD+=	-lxcb-dri3 -lxcb-present
.endif

LDADD+=	-Wl,--end-group

NOPROFILE=

obj: _xenocara_obj

.include <bsd.lib.mk>
.include <bsd.xorg.mk>

.PATH:	${MESA_SRC}/src/glx
.PATH:	${MESA_SRC}/generated/src/mapi/glapi/gen
