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