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