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