Makefile revision 1.22 1 # $NetBSD: Makefile,v 1.22 2019/03/10 02:29:52 mrg Exp $
2
3 .include <bsd.own.mk>
4
5 LIB= GL
6 LIBISCXX= yes
7
8 SUBDIR= internal
9
10 # glx
11 .PATH: ${X11SRCDIR.Mesa}/src/glx
12 SRCS.glx= \
13 clientattrib.c \
14 clientinfo.c \
15 compsize.c \
16 create_context.c \
17 eval.c \
18 glxconfig.c \
19 glxcmds.c \
20 glxcurrent.c \
21 glx_error.c \
22 glxext.c \
23 glxextensions.c \
24 indirect_glx.c \
25 MESAindirect.c \
26 MESAindirect_init.c \
27 MESAindirect_size.c \
28 MESAindirect_window_pos.c \
29 indirect_texture_compression.c \
30 indirect_transpose_matrix.c \
31 indirect_vertex_array.c \
32 indirect_vertex_program.c \
33 pixel.c \
34 pixelstore.c \
35 query_renderer.c \
36 render2.c \
37 renderpix.c \
38 single2.c \
39 singlepix.c \
40 vertarr.c \
41 glx_pbuffer.c \
42 glx_query.c \
43 glxhash.c
44
45 BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect.c MESAindirect.c
46 BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect_init.c MESAindirect_init.c
47 BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect_size.c MESAindirect_size.c
48 BUILDSYMLINKS+= ${X11SRCDIR.Mesa}/src/glx/indirect_window_pos.c MESAindirect_window_pos.c
49
50 .for _f in ${SRCS.glx}
51 CPPFLAGS.${_f}= -I${X11SRCDIR.Mesa}/../src/mapi/glapi -DGLX_SHARED_GLAPI
52 .endfor
53
54 # glapi
55 .PATH: ${X11SRCDIR.Mesa}/src/mapi
56 .PATH: ${X11SRCDIR.Mesa}/../src/mapi/glapi
57 SRCS.glapi= \
58 entry.c \
59 glapi_gentable.c
60 .for _f in ${SRCS.glapi}
61 CPPFLAGS.${_f}= -DMAPI_MODE_BRIDGE \
62 -DMAPI_ABI_HEADER=\"glapi_glapi_mapi_tmp.h\" \
63 -I${X11SRCDIR.Mesa}/src/mesa
64 .endfor
65
66
67 # XXX see TODO
68 #.if ${MACHINE_ARCH} == "i386"
69 #.PATH: ${X11SRCDIR.Mesa}/src/mesa/x86
70 #SRCS.glx+= glapi_x86.S
71 #CPPFLAGS+= -DUSE_X86_ASM -I${X11SRCDIR.Mesa}/src/mesa/x86
72 ## -DUSE_X86_ASM $(MMX_DEFS) $(3DNOW_DEFS) $(SSE_DEFS)
73 #.endif
74
75
76 .if ${X11DRI} != "no"
77 # dri
78 SRCS.dri= \
79 drisw_glx.c \
80 xfont.c \
81 dri_common.c \
82 dri_glx.c \
83 XF86dri.c \
84 dri2_glx.c \
85 dri2.c \
86 dri2_query_renderer.c
87 .for fn in ${SRCS.dri}
88 CPPFLAGS.${fn}=-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\"
89 .endfor
90 .endif
91
92 .include "../libloader.mk"
93
94 .PATH: ${X11SRCDIR.Mesa}/src/glw
95 .PATH: ${X11SRCDIR.Mesa}/include/GL
96 .PATH: ${X11SRCDIR.Mesa}/src/mesa/drivers/x11
97 INCS= gl.h gl_mangle.h glcorearb.h glext.h \
98 glx.h glx_mangle.h glxext.h \
99 osmesa.h wglext.h wmesa.h
100 INCSDIR=${X11INCDIR}/GL
101
102
103 SRCS+= ${SRCS.dri} ${SRCS.glx} ${SRCS.glapi}
104
105 CPPFLAGS+= \
106 -I${X11SRCDIR.Mesa}/include \
107 -I${X11SRCDIR.Mesa}/include/GL/internal \
108 -I${X11SRCDIR.Mesa}/src/loader \
109 -I${X11SRCDIR.Mesa}/src/mapi \
110 -I${X11SRCDIR.Mesa}/src/mapi/glapi \
111 -I${X11SRCDIR.Mesa}/../src/mapi/glapi \
112 -I${X11SRCDIR.Mesa}/src/glx \
113 -I${DESTDIR}${X11INCDIR}/libdrm \
114 -I${DESTDIR}${X11INCDIR}/GL \
115 -I${DESTDIR}${X11INCDIR}/X11 \
116 -I${DESTDIR}${X11INCDIR}/X11/extensions
117
118 CPPFLAGS+= ${X11FLAGS.THREADLIB}
119
120 # -D_NETBSD_SOURCE \
121
122 # old
123 CPPFLAGS+= -D__GLX_ALIGN64 \
124 -DXF86VIDMODE \
125 -DGLX_SHARED_GLAPI
126
127 # new
128 CPPFLAGS+= \
129 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 \
130 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 \
131 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 \
132 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE___BUILTIN_BSWAP32=1 \
133 -DHAVE___BUILTIN_BSWAP64=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 \
134 -DHAVE_POSIX_MEMALIGN -DHAVE_PTHREAD=1 -DHAVE_DLOPEN
135
136 .include "../asm.mk"
137
138 CPPFLAGS+= \
139 -DHAVE_LIBDRM -DGLX_USE_DRM \
140 -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING \
141 -DHAVE_ALIAS -DMESA_EGL_NO_X11_HEADERS
142
143 CPPFLAGS+= \
144 -DUSE_EXTERNAL_DXTN_LIB=1 \
145 -DYYTEXT_POINTER=1
146
147 CFLAGS+= -fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp
148 CFLAGS+= -pthread
149
150 LIBDPLIBS= Xext ${.CURDIR}/../libXext \
151 X11 ${.CURDIR}/../libX11/dynamic \
152 Xxf86vm ${.CURDIR}/../libXxf86vm \
153 Xfixes ${.CURDIR}/../libXfixes \
154 Xdamage ${.CURDIR}/../libXdamage \
155 glapi ${.CURDIR}/../libglapi \
156 drm ${.CURDIR}/../libdrm \
157 X11-xcb ${.CURDIR}/../libX11/libX11-xcb \
158 xcb-dri2 ${.CURDIR}/../libxcb/dri2 \
159 xcb-glx ${.CURDIR}/../libxcb/glx \
160 expat ${NETBSDSRCDIR}/external/mit/expat/lib/libexpat \
161 m ${NETBSDSRCDIR}/lib/libm
162
163 MKLINT=no
164
165 PKGCONFIG= gl
166 PKGDIST.gl= ${X11SRCDIR.Mesa}/src/mesa
167 .include "${.CURDIR}/../libGL/mesa-ver.mk"
168 PKGCONFIG_VERSION.gl= ${MESA_VER}
169
170 # XXX remove these from bsd.x11.mk
171 # XXX enable GLX TLS? it's enabled in the code, but not here..
172 PKGCONFIG_SED_FLAGS= \
173 -e "s,@GL_PC_REQ_PRIV@,x11 xext,; \
174 s,@GL_LIB@,GL,; \
175 s,@GL_PC_LIB_PRIV@,-lm -lpthread,; \
176 s,@GL_PC_CFLAGS@,,; \
177 s,@GLX_TLS@,no,"
178
179
180 CWARNFLAGS.clang+= -Wno-tautological-compare -Wno-format -Wno-constant-conversion
181
182 .include <bsd.x11.mk>
183 .include <bsd.lib.mk>
184 .include <bsd.subdir.mk>
185