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