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