1#	$NetBSD: Makefile,v 1.23 2023/08/08 06:27:31 mrg Exp $
2
3.include <bsd.own.mk>
4
5.include "../mesa-which.mk"
6
7LIB=		GLU
8LIBISCXX=	yes
9
10GLUDIR=		${X11SRCDIR.glu}/src
11
12SRCS.libutil=	\
13	error.c \
14	glue.c \
15	mipmap.c \
16	project.c \
17	quad.c \
18	registry.c
19.PATH:		${GLUDIR}/libutil
20
21SRCS.libtess=	\
22	dict.c \
23	geom.c \
24	memalloc.c \
25	mesh.c \
26	normal.c \
27	priorityq.c \
28	render.c \
29	sweep.c \
30	tess.c \
31	tessmono.c 
32.PATH:		${GLUDIR}/libtess
33
34SRCS.interface=	\
35	bezierEval.cc \
36	bezierPatch.cc \
37	bezierPatchMesh.cc \
38	glcurveval.cc \
39	glinterface.cc \
40	glrenderer.cc \
41	glsurfeval.cc \
42	incurveeval.cc \
43	insurfeval.cc
44.PATH:		${GLUDIR}/libnurbs/interface
45
46SRCS.internals=	\
47	arc.cc \
48	arcsorter.cc \
49	arctess.cc \
50	backend.cc \
51	basiccrveval.cc \
52	basicsurfeval.cc \
53	bin.cc \
54	bufpool.cc \
55	cachingeval.cc \
56	ccw.cc \
57	coveandtiler.cc \
58	curve.cc \
59	curvelist.cc \
60	curvesub.cc \
61	dataTransform.cc \
62	displaylist.cc \
63	flist.cc \
64	flistsorter.cc \
65	hull.cc \
66	intersect.cc \
67	knotvector.cc \
68	mapdesc.cc \
69	mapdescv.cc \
70	maplist.cc \
71	mesher.cc \
72	monoTriangulationBackend.cc \
73	monotonizer.cc \
74	mycode.cc \
75	nurbsinterfac.cc \
76	nurbstess.cc \
77	patch.cc \
78	patchlist.cc \
79	quilt.cc \
80	reader.cc \
81	renderhints.cc \
82	slicer.cc \
83	sorter.cc \
84	splitarcs.cc \
85	subdivider.cc \
86	tobezier.cc \
87	trimline.cc \
88	trimregion.cc \
89	trimvertpool.cc \
90	uarray.cc \
91	varray.cc
92.PATH:		${GLUDIR}/libnurbs/internals
93.for fn in ${SRCS.internals}
94CPPFLAGS.${fn}+= -D_EXTENSIONS_
95.endfor
96
97SRCS.nurbtess=	\
98	directedLine.cc \
99	gridWrap.cc \
100	monoChain.cc \
101	monoPolyPart.cc \
102	monoTriangulation.cc \
103	partitionX.cc \
104	partitionY.cc \
105	polyDBG.cc \
106	polyUtil.cc \
107	primitiveStream.cc \
108	quicksort.cc \
109	rectBlock.cc \
110	sampleComp.cc \
111	sampleCompBot.cc \
112	sampleCompRight.cc \
113	sampleCompTop.cc \
114	sampleMonoPoly.cc \
115	sampledLine.cc \
116	searchTree.cc
117.PATH:		${GLUDIR}/libnurbs/nurbtess
118
119CPPFLAGS+=	-DPTHREADS -DUSE_XSHM -DHZ=100 -DNDEBUG -DLIBRARYBUILD
120CPPFLAGS+=	-I${GLUDIR}/include \
121		-I${GLUDIR}/libnurbs/internals \
122		-I${GLUDIR}/libnurbs/interface \
123		-I${GLUDIR}/libnurbs/nurbtess
124
125SRCS=		${SRCS.libutil} ${SRCS.libtess} \
126		${SRCS.interface} ${SRCS.internals} ${SRCS.nurbtess}
127
128CFLAGS+=	-fno-strict-aliasing -fvisibility=hidden -pthread
129
130.PATH:		${X11SRCDIR.glu}/include/GL
131INCS=	glu.h
132INCSDIR=${X11INCDIR}/GL
133
134LIBDPLIBS=	Xext	${.CURDIR}/../libXext \
135		X11	${.CURDIR}/../libX11/dynamic \
136		GL	${.CURDIR}/../libGL${OLD_SUFFIX} \
137		Xxf86vm	${.CURDIR}/../libXxf86vm \
138		Xfixes	${.CURDIR}/../libXfixes \
139		Xdamage	${.CURDIR}/../libXdamage \
140		drm	${.CURDIR}/../libdrm \
141		m	${NETBSDSRCDIR}/lib/libm
142
143PKGCONFIG=	glu
144PKGDIST.glu=	${X11SRCDIR.glu}
145.include "${.CURDIR}/../libGL${OLD_SUFFIX}/mesa-ver.mk"
146PKGCONFIG_VERSION.glu=	${MESA_VER}
147PKGCONFIG_SED_FLAGS= \
148	-e "s,@GLU_REQUIRES@,gl,"
149
150.include <bsd.x11.mk>
151.include <bsd.lib.mk>
152
153# XXX
154COPTS.arcsorter.cc+=	-Wno-error
155COPTS.sorter.cc+=	-Wno-error
156COPTS.tobezier.cc+=	-Wno-error
157
158COPTS.varray.cc+=	${CC_WNO_REGISTER}
159COPTS.project.c+=	${CC_WNO_STRINGOP_OVERFLOW}
160
161CWARNFLAGS.clang+=	-Wno-parentheses -Wno-tautological-compare
162CWARNFLAGS.clang+=	-Wno-deprecated-register
163