#
# Makefile for libsipp.a
#

#These values are default if they are not overridden from the command line:
CC = cc
CFLAGS = -pipe -I. -DHAVE_NO_ALLOCA


IHDRS = sipptypes.h geometric.h noise.h bezier.h
EHDRS = sipp.h shaders.h primitives.h
HDRS = $(IHDRS) $(EHDRS)
SRCS =  sipp.c geometric.c \
	basic_shader.c mask.c marble.c granite.c noise.c bozo.c bumpy.c \
	planet.c \
	block.c cylinder.c ellipsoid.c torus.c bezier.c bezier_lex.l
LIBOBJS = libsipp.a(sipp.o) libsipp.a(geometric.o) libsipp.a(basic_shader.o)\
          libsipp.a(marble.o) libsipp.a(granite.o) libsipp.a(mask.o)\
          libsipp.a(bozo.o) libsipp.a(bumpy.o) libsipp.a(planet.o)\
          libsipp.a(noise.o) libsipp.a(bezier.o) libsipp.a(bezier_lex.o)\
          libsipp.a(torus.o) libsipp.a(cylinder.o) libsipp.a(ellipsoid.o) \
          libsipp.a(block.o) \
	  libsipp.a(xalloca.o)


# These are used if no other values are given at the command line:
LIBDIR = /usr/local/lib
INCLUDEDIR = /usr/local/include


all: libsipp.a

libsipp.a:      $(LIBOBJS)
	ranlib libsipp.a

install: libsipp.a $(EHDRS)
	cp libsipp.a $(LIBDIR)
	cp $(EHDRS) $(INCLUDEDIR)


libsipp.a(sipp.o):              sipp.o
libsipp.a(geometric.o):         geometric.o
libsipp.a(basic_shader.o):      basic_shader.o
libsipp.a(mask.o):              mask.o
libsipp.a(marble.o):            marble.o
libsipp.a(granite.o):           granite.o
libsipp.a(bozo.o):              bozo.o
libsipp.a(bumpy.o):	        bumpy.o
libsipp.a(planet.o):		planet.o
libsipp.a(noise.o):             noise.o
libsipp.a(bezier.o):            bezier.o
libsipp.a(bezier_lex.o):        bezier_lex.o
libsipp.a(torus.o):             torus.o
libsipp.a(cylinder.o):          cylinder.o
libsipp.a(ellipsoid.o):         ellipsoid.o
libsipp.a(block.o):             block.o



tags:
	etags -t $(HDRS) $(SRCS)

clean: 
	$(RM) *.o *~ libsipp.a


sipp.o:          sipp.h sipptypes.h geometric.h
geometric.o:     geometric.h sipp.h
basic_shader.o:  sipp.h
mask.o:          shaders.h sipp.h
marble.o:        noise.h shaders.h sipp.h
granite.o:       noise.h shaders.h sipp.h
bozo.o:          noise.h shaders.h sipp.h
bumpy.o:	 noise.h shaders.h sipp.h geometric.h
planet.o:	 noise.h sipp.h geometric.h
noise.o:         noise.h sipp.h
bezier.o:        bezier.h sipp.h
bezier_lex.o:    bezier_lex.l bezier.h
torus.o:         sipp.h
cylinder.o:      sipp.h
ellipsoid:       sipp.h
block.o:         sipp.h
xalloca.o:       xalloca.h
