xref: /netbsd-src/external/mit/xorg/lib/libEGL/Makefile (revision 8b9f9ee36e0183c1c13b0a62226525e12cb692cd)
1#	$NetBSD: Makefile,v 1.9 2023/11/22 17:48:35 rjs 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	eglglobals.c \
26	eglimage.c \
27	egllog.c \
28	eglsurface.c \
29	eglsync.c
30
31.PATH:		${X11SRCDIR.Mesa}/src/egl/drivers/dri2
32SRCS.drivers/dri2= \
33	egl_dri2.c \
34	platform_x11.c \
35	platform_device.c \
36	platform_drm.c \
37	platform_surfaceless.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	mesa-sha1.c \
48	os_file.c \
49	os_misc.c \
50	ralloc.c \
51	u_printf.cpp \
52	u_process.c
53
54.for file in ${SRCS.util}
55CPPFLAGS.${file}+=		-I${X11SRCDIR.Mesa}/src/util \
56				-I${X11SRCDIR.Mesa}/src/mesa \
57				-I${X11SRCDIR.Mesa}/src \
58				-I${X11SRCDIR.Mesa}/src/gallium/include
59.endfor
60
61.PATH:		${X11SRCDIR.Mesa}/include/EGL
62INCS=	\
63	egl.h \
64	eglext.h \
65	eglextchromium.h \
66	eglmesaext.h \
67	eglplatform.h
68INCSDIR=${X11INCDIR}/EGL
69
70SRCS+=	${SRCS.egl} ${SRCS.drivers/dri2} ${SRCS.util}
71
72CPPFLAGS+= \
73	-I${X11SRCDIR.Mesa}/include \
74	-I${X11SRCDIR.Mesa}/include/drm-uapi \
75	-I${X11SRCDIR.Mesa}/src/gbm/main \
76	-I${X11SRCDIR.Mesa}/src/egl/main \
77	-I${X11SRCDIR.Mesa}/src/gbm/backends/dri \
78	-I${X11SRCDIR.Mesa}/src/loader \
79	-I${X11SRCDIR.Mesa}/src \
80	-I${DESTDIR}${X11INCDIR}/libdrm
81
82EGL_DRIVER_INSTALL_DIR=${X11ROOTDIR}/lib
83CPPFLAGS+= \
84	-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\" \
85	-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11 \
86	-D_EGL_DRIVER_SEARCH_DIR=\"$(EGL_DRIVER_INSTALL_DIR)\" \
87	-D_EGL_OS_UNIX=1
88
89CPPFLAGS+=	${X11FLAGS.THREADLIB} \
90		-DHAVE_X11_PLATFORM \
91		-DHAVE_DRM_PLATFORM \
92		-DHAVE_TIMESPEC_GET \
93		-DHAVE_PTHREAD \
94		-DHAVE_LIBDRM \
95		-DHAVE_MINCORE
96
97.include "../libloader.mk"
98
99CFLAGS+=	-fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp
100CFLAGS+=	-pthread
101
102# XXX missing: xcb-present
103LIBDPLIBS=	Xext		${.CURDIR}/../libXext \
104		X11		${.CURDIR}/../libX11/dynamic \
105		Xfixes		${.CURDIR}/../libXfixes \
106		Xdamage		${.CURDIR}/../libXdamage \
107		Xdmcp		${.CURDIR}/../libXdmcp \
108		glapi		${.CURDIR}/../libglapi${OLD_SUFFIX} \
109		drm		${.CURDIR}/../libdrm \
110		gbm		${.CURDIR}/../libgbm${OLD_SUFFIX} \
111		xshmfence	${.CURDIR}/../libxshmfence \
112		X11-xcb		${.CURDIR}/../libX11/libX11-xcb \
113		xcb-dri2	${.CURDIR}/../libxcb/dri2 \
114		xcb-glx		${.CURDIR}/../libxcb/glx \
115		xcb-xfixes	${.CURDIR}/../libxcb/xfixes \
116		xcb-sync	${.CURDIR}/../libxcb/sync \
117		xcb		${.CURDIR}/../libxcb/libxcb \
118		expat		${NETBSDSRCDIR}/external/mit/expat/lib/libexpat \
119		m		${NETBSDSRCDIR}/lib/libm \
120		pthread		${NETBSDSRCDIR}/lib/libpthread
121
122MKLINT=no
123
124PKGCONFIG=	egl
125PKGDIST.egl=	${X11SRCDIR.Mesa}/../src/pkgconfig
126.include "${.CURDIR}/../libGL/mesa-ver.mk"
127PKGCONFIG_VERSION.egl=	${MESA_VER}
128
129CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-format -Wno-constant-conversion
130COPTS.platform_drm.c+=	-Wno-error=stack-protector
131
132.include <bsd.x11.mk>
133.include <bsd.lib.mk>
134.include <bsd.subdir.mk>
135