#
# Makefile for libsipp.a
#

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

SHELL = /bin/sh
RM = rm -f

IHDRS = bezier.h lightsource.h noise.h objects.h rendering.h smalloc.h \
        viewpoint.h
EHDRS = sipp.h geometric.h shaders.h primitives.h sipp_pixmap.h sipp_bitmap.h
HDRS = $(IHDRS) $(EHDRS)
SRCS =  rendering.c geometric.c lightsource.c objects.c smalloc.c \
        transforms.c viewpoint.c \
	basic_shader.c mask.c marble.c granite.c noise.c bozo.c bumpy.c \
	planet.c strauss.c wood.c \
	prism.c cone.c ellipsoid.c torus.c bezier.c bezier_lex.l \
        sipp_pixmap.c sipp_bitmap.c
LIBOBJS = libsipp.a(rendering.o) libsipp.a(geometric.o) \
          libsipp.a(lightsource.o) libsipp.a(objects.o) libsipp.a(smalloc.o) \
          libsipp.a(transforms.o) libsipp.a(viewpoint.o) \
          libsipp.a(basic_shader.o) libsipp.a(strauss.o) libsipp.a(wood.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(cone.o) libsipp.a(ellipsoid.o) \
          libsipp.a(prism.o)\
          libsipp.a(sipp_pixmap.o) libsipp.a(sipp_bitmap.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
	$(RM) bezier_lex.c

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


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

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


libsipp.a(rendering.o):         sipp.h rendering.h lightsource.h geometric.h \
                                objects.h sipp_bitmap.h viewpoint.h smalloc.h \
                                patchlevel.h
libsipp.a(geometric.o):         geometric.h sipp.h
libsipp.a(lightsource.o):       geometric.h lightsource.h sipp.h smalloc.h
libsipp.a(objects.o):           sipp.h objects.h smalloc.h
libsipp.a(smalloc.o):           
libsipp.a(transforms.o):        geometric.h sipp.h
libsipp.a(viewpoint.o):         geometric.h viewpoint.h
libsipp.a(basic_shader.o):      sipp.h
libsipp.a(strauss.o):           sipp.h shaders.h geometric.h
libsipp.a(mask.o):              shaders.h sipp.h
libsipp.a(marble.o):            noise.h shaders.h sipp.h
libsipp.a(granite.o):           noise.h shaders.h sipp.h
libsipp.a(wood.o):              noise.h shaders.h sipp.h
libsipp.a(bozo.o):              noise.h shaders.h sipp.h
libsipp.a(bumpy.o):             noise.h shaders.h sipp.h geometric.h
libsipp.a(planet.o):	        noise.h sipp.h geometric.h
libsipp.a(noise.o):             noise.h sipp.h
libsipp.a(bezier.o):            bezier.h sipp.h
libsipp.a(bezier_lex.o):        bezier.h
libsipp.a(torus.o):             sipp.h
libsipp.a(ellipsoid.o):         sipp.h
libsipp.a(prism.o):             sipp.h
libsipp.a(cone.o):              sipp.h
libsipp.a(sipp_pixmap.o):       sipp_pixmap.h sipp.h patchlevel.h
libsipp.a(sipp_bitmap.o):       sipp_bitmap.h sipp.h patchlevel.h
libsipp.a(xalloca.o):           xalloca.h
