1#	$NetBSD: Makefile,v 1.1 2023/07/17 04:24:34 mrg Exp $
2
3.include <bsd.own.mk>
4
5.include "../mesa-which.mk"
6
7LIB=		EGL
8LIBISCXX=	yes
9
10SHLIB_MAJOR=	0
11SHLIB_MINOR=	0
12
13#SUBDIR=		internal
14
15# egl
16.PATH:		${X11SRCDIR.Mesa}/src/egl/main
17SRCS.egl= \
18	eglapi.c \
19	eglarray.c \
20	eglconfig.c \
21	eglcontext.c \
22	eglcurrent.c \
23	egldevice.c \
24	egldisplay.c \
25	egldriver.c \
26	eglfallbacks.c \
27	eglglobals.c \
28	eglimage.c \
29	egllog.c \
30	eglsurface.c \
31	eglsync.c
32
33.PATH:		${X11SRCDIR.Mesa}/src/egl/drivers/dri2
34SRCS.drivers/dri2= \
35	egl_dri2.c \
36	platform_x11.c \
37	platform_drm.c
38
39# XXX notyet
40#SRCS.drivers/dri2+= \
41#	platform_x11_dri3.c
42
43.PATH:		${X11SRCDIR.Mesa}/src/util
44BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/util/debug.c UTILdebug.c
45SRCS.util=      \
46	UTILdebug.c \
47	u_process.c
48
49.for file in ${SRCS.util}
50CPPFLAGS.${file}+=		-I${X11SRCDIR.Mesa}/src/util \
51				-I${X11SRCDIR.Mesa}/src/mesa \
52				-I${X11SRCDIR.Mesa}/src \
53				-I${X11SRCDIR.Mesa}/src/gallium/include
54.endfor
55
56.PATH:		${X11SRCDIR.Mesa}/include/EGL
57INCS=	\
58	egl.h \
59	eglext.h \
60	eglextchromium.h \
61	eglmesaext.h \
62	eglplatform.h
63INCSDIR=${X11INCDIR}/EGL
64
65SRCS+=	${SRCS.egl} ${SRCS.drivers/dri2} ${SRCS.util}
66
67CPPFLAGS+= \
68	-I${X11SRCDIR.Mesa}/include \
69	-I${X11SRCDIR.Mesa}/include/drm-uapi \
70	-I${X11SRCDIR.Mesa}/src/gbm/main \
71	-I${X11SRCDIR.Mesa}/src/egl/main \
72	-I${X11SRCDIR.Mesa}/src/gbm/backends/dri \
73	-I${X11SRCDIR.Mesa}/src/loader \
74	-I${X11SRCDIR.Mesa}/src \
75	-I${DESTDIR}${X11INCDIR}/libdrm
76
77EGL_DRIVER_INSTALL_DIR=${X11ROOTDIR}/lib
78CPPFLAGS+= \
79	-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\" \
80	-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11 \
81	-D_EGL_DRIVER_SEARCH_DIR=\"$(EGL_DRIVER_INSTALL_DIR)\" \
82	-D_EGL_OS_UNIX=1
83
84CPPFLAGS+=	${X11FLAGS.THREADLIB} \
85		-DHAVE_X11_PLATFORM \
86		-DHAVE_DRM_PLATFORM \
87		-DHAVE_TIMESPEC_GET \
88		-DHAVE_PTHREAD \
89		-DHAVE_LIBDRM \
90		-DHAVE_MINCORE
91
92.include "../libloader.old.mk"
93
94CFLAGS+=	-fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp
95CFLAGS+=	-pthread
96
97# XXX missing: xcb-present
98LIBDPLIBS=	Xext		${.CURDIR}/../libXext \
99		X11		${.CURDIR}/../libX11/dynamic \
100		Xfixes		${.CURDIR}/../libXfixes \
101		Xdamage		${.CURDIR}/../libXdamage \
102		Xdmcp		${.CURDIR}/../libXdmcp \
103		glapi		${.CURDIR}/../libglapi${OLD_SUFFIX} \
104		drm		${.CURDIR}/../libdrm \
105		gbm		${.CURDIR}/../libgbm${OLD_SUFFIX} \
106		xshmfence	${.CURDIR}/../libxshmfence \
107		X11-xcb		${.CURDIR}/../libX11/libX11-xcb \
108		xcb-dri2	${.CURDIR}/../libxcb/dri2 \
109		xcb-glx		${.CURDIR}/../libxcb/glx \
110		xcb-xfixes	${.CURDIR}/../libxcb/xfixes \
111		xcb-sync	${.CURDIR}/../libxcb/sync \
112		xcb		${.CURDIR}/../libxcb/libxcb \
113		expat		${NETBSDSRCDIR}/external/mit/expat/lib/libexpat \
114		m		${NETBSDSRCDIR}/lib/libm \
115		pthread		${NETBSDSRCDIR}/lib/libpthread
116
117MKLINT=no
118
119PKGCONFIG=	egl
120PKGDIST.egl=	${X11SRCDIR.Mesa}/../src/pkgconfig
121.include "${.CURDIR}/../libGL.old/mesa-ver.mk"
122PKGCONFIG_VERSION.egl=	${MESA_VER}
123
124CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-format -Wno-constant-conversion
125COPTS.platform_drm.c+=	-Wno-error=stack-protector
126
127.include <bsd.x11.mk>
128.include <bsd.lib.mk>
129.include <bsd.subdir.mk>
130