xref: /minix3/external/mit/xorg/lib/libGL/Makefile (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1#	$NetBSD: Makefile,v 1.21 2014/12/18 06:24:30 mrg Exp $
2
3.include <bsd.own.mk>
4
5LIB=		GL
6LIBISCXX=	yes
7
8SUBDIR=		internal
9
10# glx
11.PATH:		${X11SRCDIR.MesaLib}/src/glx
12SRCS.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
45BUILDSYMLINKS+=     ${X11SRCDIR.MesaLib}/../src/mapi/glapi/indirect.c MESAindirect.c
46BUILDSYMLINKS+=     ${X11SRCDIR.MesaLib}/../src/mapi/glapi/indirect_init.c MESAindirect_init.c
47BUILDSYMLINKS+=     ${X11SRCDIR.MesaLib}/../src/mapi/glapi/indirect_size.c MESAindirect_size.c
48BUILDSYMLINKS+=     ${X11SRCDIR.MesaLib}/src/glx/indirect_window_pos.c MESAindirect_window_pos.c
49
50.for _f in ${SRCS.glx}
51CPPFLAGS.${_f}= -I${X11SRCDIR.MesaLib}/../src/mapi/glapi -DGLX_SHARED_GLAPI
52.endfor
53
54# glapi
55.PATH:		${X11SRCDIR.MesaLib}/src/mapi
56.PATH:		${X11SRCDIR.MesaLib}/../src/mapi/glapi
57SRCS.glapi=	\
58	entry.c \
59	glapi_gentable.c
60.for _f in ${SRCS.glapi}
61CPPFLAGS.${_f}= -DMAPI_MODE_BRIDGE \
62		-DMAPI_ABI_HEADER=\"glapi_glapi_mapi_tmp.h\" \
63		-I${X11SRCDIR.MesaLib}/src/mesa
64.endfor
65
66
67# XXX see TODO
68#.if ${MACHINE_ARCH} == "i386"
69#.PATH:		${X11SRCDIR.MesaLib}/src/mesa/x86
70#SRCS.glx+=	glapi_x86.S
71#CPPFLAGS+=	-DUSE_X86_ASM -I${X11SRCDIR.MesaLib}/src/mesa/x86
72## -DUSE_X86_ASM $(MMX_DEFS) $(3DNOW_DEFS) $(SSE_DEFS)
73#.endif
74
75
76.if ${X11DRI} != "no"
77# dri
78SRCS.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}
88CPPFLAGS.${fn}=-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\"
89.endfor
90.endif
91
92.include "../libloader.mk"
93
94.PATH:		${X11SRCDIR.MesaLib}/src/glw
95.PATH:		${X11SRCDIR.MesaLib}/include/GL
96.PATH:		${X11SRCDIR.MesaLib}/src/mesa/drivers/x11
97INCS=	gl.h gl_mangle.h glcorearb.h glext.h \
98	glx.h glx_mangle.h glxext.h \
99	osmesa.h wglext.h wmesa.h
100INCSDIR=${X11INCDIR}/GL
101
102
103SRCS+=	${SRCS.dri} ${SRCS.glx} ${SRCS.glapi}
104
105CPPFLAGS+= \
106	-I${X11SRCDIR.MesaLib}/include \
107	-I${X11SRCDIR.MesaLib}/include/GL/internal \
108	-I${X11SRCDIR.MesaLib}/src/loader \
109	-I${X11SRCDIR.MesaLib}/src/mapi \
110	-I${X11SRCDIR.MesaLib}/src/mapi/glapi \
111	-I${X11SRCDIR.MesaLib}/../src/mapi/glapi \
112	-I${X11SRCDIR.MesaLib}/src/glx \
113	-I${DESTDIR}${X11INCDIR}/libdrm \
114	-I${DESTDIR}${X11INCDIR}/GL \
115	-I${DESTDIR}${X11INCDIR}/X11 \
116	-I${DESTDIR}${X11INCDIR}/X11/extensions
117
118CPPFLAGS+=	${X11FLAGS.THREADLIB}
119
120#		-D_NETBSD_SOURCE \
121
122# old
123CPPFLAGS+=	-D__GLX_ALIGN64 \
124		-DXF86VIDMODE \
125		-DGLX_SHARED_GLAPI
126
127# new
128CPPFLAGS+=	\
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
138CPPFLAGS+=	\
139	-DHAVE_LIBDRM -DGLX_USE_DRM \
140	-DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING \
141	-DHAVE_ALIAS -DMESA_EGL_NO_X11_HEADERS
142
143CPPFLAGS+=	\
144	-DUSE_EXTERNAL_DXTN_LIB=1 \
145	-DYYTEXT_POINTER=1
146
147CFLAGS+=	-fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp
148.if !defined(__MINIX)
149CFLAGS+=	-pthread
150.else
151LDADD+= -lmthread
152DPADD+= ${LIBMTHREAD}
153CWARNFLAGS.clang+=	-Wno-\#warnings
154.endif # !defined(__MINIX)
155
156LIBDPLIBS=	Xext		${.CURDIR}/../libXext \
157		X11		${.CURDIR}/../libX11/dynamic \
158		Xxf86vm		${.CURDIR}/../libXxf86vm \
159		Xfixes		${.CURDIR}/../libXfixes \
160		Xdamage		${.CURDIR}/../libXdamage \
161		glapi		${.CURDIR}/../libglapi \
162		drm		${.CURDIR}/../libdrm \
163		X11-xcb		${.CURDIR}/../libX11/libX11-xcb \
164		xcb-dri2	${.CURDIR}/../libxcb/dri2 \
165		xcb-glx		${.CURDIR}/../libxcb/glx \
166		expat		${NETBSDSRCDIR}/external/mit/expat/lib/libexpat \
167		m		${NETBSDSRCDIR}/lib/libm
168
169MKLINT=no
170
171PKGCONFIG=	gl
172PKGDIST.gl=	${X11SRCDIR.MesaLib}/src/mesa
173.include "${.CURDIR}/../libGL/mesa-ver.mk"
174PKGCONFIG_VERSION.gl=	${MESA_VER}
175
176# XXX remove these from bsd.x11.mk
177# XXX enable GLX TLS?  it's enabled in the code, but not here..
178PKGCONFIG_SED_FLAGS= \
179	-e "s,@GL_PC_REQ_PRIV@,x11 xext,; \
180	    s,@GL_LIB@,GL,; \
181	    s,@GL_PC_LIB_PRIV@,-lm -lpthread,; \
182	    s,@GL_PC_CFLAGS@,,; \
183	    s,@GLX_TLS@,no,"
184
185
186CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-format -Wno-constant-conversion
187
188.include <bsd.x11.mk>
189.include <bsd.lib.mk>
190.include <bsd.subdir.mk>
191