# $Id: Makefile.X11,v 1.7 2002/01/08 15:58:32 brianp Exp $

# Mesa 3-D graphics library
# Version:  4.1
# Copyright (C) 1995-2002  Brian Paul

# Makefile for SGI SI GLU library

.SUFFIXES : .cc

##### MACROS #####

GLU_MAJOR = 1
GLU_MINOR = 3
GLU_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)

VPATH = RCS

INCDIRS = -I../include -Iinclude -Iinternals -Ilibnurbs/internals -Ilibnurbs/interface -Ilibnurbs/nurbtess
LIBDIR = ../lib

C_SOURCES = \
	libutil/error.c		\
	libutil/glue.c		\
	libutil/mipmap.c	\
	libutil/project.c	\
	libutil/quad.c		\
	libutil/registry.c	\
	libtess/dict.c		\
	libtess/geom.c		\
	libtess/memalloc.c	\
	libtess/mesh.c		\
	libtess/normal.c	\
	libtess/priorityq.c	\
	libtess/render.c	\
	libtess/sweep.c		\
	libtess/tess.c		\
	libtess/tessmono.c

CC_SOURCES = \
	libnurbs/interface/bezierEval.cc		\
	libnurbs/interface/bezierPatch.cc		\
	libnurbs/interface/bezierPatchMesh.cc		\
	libnurbs/interface/glcurveval.cc		\
	libnurbs/interface/glinterface.cc		\
	libnurbs/interface/glrenderer.cc		\
	libnurbs/interface/glsurfeval.cc		\
	libnurbs/interface/incurveeval.cc		\
	libnurbs/interface/insurfeval.cc		\
	libnurbs/internals/arc.cc			\
	libnurbs/internals/arcsorter.cc			\
	libnurbs/internals/arctess.cc			\
	libnurbs/internals/backend.cc			\
	libnurbs/internals/basiccrveval.cc		\
	libnurbs/internals/basicsurfeval.cc		\
	libnurbs/internals/bin.cc			\
	libnurbs/internals/bufpool.cc			\
	libnurbs/internals/cachingeval.cc		\
	libnurbs/internals/ccw.cc			\
	libnurbs/internals/coveandtiler.cc		\
	libnurbs/internals/curve.cc			\
	libnurbs/internals/curvelist.cc			\
	libnurbs/internals/curvesub.cc			\
	libnurbs/internals/dataTransform.cc		\
	libnurbs/internals/displaylist.cc		\
	libnurbs/internals/flist.cc			\
	libnurbs/internals/flistsorter.cc		\
	libnurbs/internals/hull.cc			\
	libnurbs/internals/intersect.cc			\
	libnurbs/internals/knotvector.cc		\
	libnurbs/internals/mapdesc.cc			\
	libnurbs/internals/mapdescv.cc			\
	libnurbs/internals/maplist.cc			\
	libnurbs/internals/mesher.cc			\
	libnurbs/internals/monoTriangulationBackend.cc	\
	libnurbs/internals/monotonizer.cc		\
	libnurbs/internals/mycode.cc			\
	libnurbs/internals/nurbsinterfac.cc		\
	libnurbs/internals/nurbstess.cc			\
	libnurbs/internals/patch.cc			\
	libnurbs/internals/patchlist.cc			\
	libnurbs/internals/quilt.cc			\
	libnurbs/internals/reader.cc			\
	libnurbs/internals/renderhints.cc		\
	libnurbs/internals/slicer.cc			\
	libnurbs/internals/sorter.cc			\
	libnurbs/internals/splitarcs.cc			\
	libnurbs/internals/subdivider.cc		\
	libnurbs/internals/tobezier.cc			\
	libnurbs/internals/trimline.cc			\
	libnurbs/internals/trimregion.cc		\
	libnurbs/internals/trimvertpool.cc		\
	libnurbs/internals/uarray.cc			\
	libnurbs/internals/varray.cc			\
	libnurbs/nurbtess/directedLine.cc		\
	libnurbs/nurbtess/gridWrap.cc			\
	libnurbs/nurbtess/monoChain.cc			\
	libnurbs/nurbtess/monoPolyPart.cc		\
	libnurbs/nurbtess/monoTriangulation.cc		\
	libnurbs/nurbtess/partitionX.cc			\
	libnurbs/nurbtess/partitionY.cc			\
	libnurbs/nurbtess/polyDBG.cc			\
	libnurbs/nurbtess/polyUtil.cc			\
	libnurbs/nurbtess/primitiveStream.cc		\
	libnurbs/nurbtess/quicksort.cc			\
	libnurbs/nurbtess/rectBlock.cc			\
	libnurbs/nurbtess/sampleComp.cc			\
	libnurbs/nurbtess/sampleCompBot.cc		\
	libnurbs/nurbtess/sampleCompRight.cc		\
	libnurbs/nurbtess/sampleCompTop.cc		\
	libnurbs/nurbtess/sampleMonoPoly.cc		\
	libnurbs/nurbtess/sampledLine.cc		\
	libnurbs/nurbtess/searchTree.cc

SOURCES = $(C_SOURCES) $(CC_SOURCES)

C_OBJECTS = $(C_SOURCES:.c=.o)
CC_OBJECTS = $(CC_SOURCES:.cc=.o)
OBJECTS = $(C_OBJECTS) $(CC_OBJECTS)


##### RULES #####

.c.o:
	$(CC) -c $(INCDIRS) $(CFLAGS) -DNDEBUG -DLIBRARYBUILD $< -o $@

.cc.o:
	$(CPLUSPLUS) -c $(INCDIRS) $(CCFLAGS) -DNDEBUG -DLIBRARYBUILD $< -o $@


##### TARGETS #####

default:
	@echo "Specify a target configuration"

clean:
	-rm *.o */*.o */*/*.o
	-rm *.lo */*.lo */*/*.lo
	-rm *.la */*.la */*/*.la


targets: $(LIBDIR)/$(GLU_LIB)

# Make the library:
$(LIBDIR)/$(GLU_LIB): $(OBJECTS)
	$(MAKELIB) $(GLU_LIB) $(GLU_MAJOR) $(GLU_MINOR) $(GLU_TINY) $(OBJECTS)
	rm -f $(LIBDIR)/$(GLU_LIB)*
	mv $(GLU_LIB)* $(LIBDIR)

include ../Make-config

include depend



#
# Run 'make depend' to update the dependencies if you change what's included
# by any source file.
#
dep: $(SOURCES)
	makedepend -fdepend -Y -I../include $(SOURCES)
