#
# Makefile for rayshade.
#
# Craig Kolb
#
# $Id: Makefile.SH,v 4.0 91/07/17 14:44:47 kolb Exp Locker: kolb $
#
# Bin directory
#
BINDIR = /usr/local 
#
# If you are using LINDA, add -DLINDA
# If you are running on a Multimax, add -DMULTIMAX -DSHAREDMEM
# Be sure to add any necessary floating point hardware switches.
# 
OPTIMIZE = -O2 -fno-defer-pop -fno-builtin
URTINC = 
CCFLAGS = -c -Dmalloc=stupid_malloc -Dfree=stupid_free -Dexit=myexit\
-m68020 -m68881
CC = gcc
MKDEP = /mkdep
YACC = bison -y
LEX = flex
RANLIB = ranlib

LIBRAYDIR = /libray
INCLUDE = -nostdinc -I.. -I../libray -Igcc:include -Igcc:os-include\
-Isc:include
YFLAGS = -d

CFLAGS = $(CCFLAGS) $(URTINC) $(INCLUDE) $(OPTIMIZE)
SHELL = /bin/sh

.c.o:
	$(CC) $(CFLAGS) $<

LIB = libshade.a

SUPPORT_C =	builtin.c symtab.c misc.c lightdef.c objdef.c options.c \
		stats.c surfdef.c zbuf.c

SUPPORT_H =	/config.h datatypes.h funcdefs.h \
		/patchlevel.h rayshade.h zbuf.h

PARSE_C =	yacc.c lex.c

DRIVE_C =	setup.c viewing.c shade.c picture.c

DRIVE_H =	y.tab.h defaults.h viewing.h raytrace.h picture.h

SUPPORT_O = builtin.o symtab.o misc.o lightdef.o objdef.o options.o stats.o\
surfdef.o zbuf.o

PARSE_O = yacc.o lex.o

DRIVE_O = setup.o viewing.o shade.o picture.o

HFILES = $(DRIVE_H) $(SUPPORT_H)

CFILES = $(DRIVE_C) $(PARSE_C) $(SUPPORT_C)

SHFILES = Makefile.SH

OFILES = $(DRIVE_O) $(PARSE_O) $(SUPPORT_O)

DEPENDSRC = $(DRIVE_C) lex.l yacc.y $(SUPPORT_C)

$(LIB): $(OFILES)
	ar rv $(LIB) $(OFILES)
	$(RANLIB) $(LIB)

#
# Uncomment the following rule if using Linda.
#
#raytrace.lo: raytrace.cl
#	$(LCC) $(CFLAGS) -c raytrace.cl

#
# End of configuration section
#
install:	rayshade
		mv rayshade $(BINDIR)/rayshade

clean:
	delete \#?.o $(LIB) y.tab.h yacc.c lex.c QUIET

realclean:
	delete \#?.o $(LIB) y.tab.h QUIET
	delete \#?.orig Makefile QUIET

lint:
	lint $(CFLAGS) -x $(CFILES) -lm

tags:
	ctags -t $(CFILES)

# DO NOT DELETE THIS LINE
setup.o: setup.c
setup.o: /config.h
setup.o: /include/rle.h
setup.o: /include/rle_code.h
setup.o: /include/rle_raw.h
setup.o: /libray/libcommon/color.h
setup.o: /libray/libcommon/common.h
setup.o: /libray/libcommon/error.h
setup.o: /libray/libcommon/expr.h
setup.o: /libray/libcommon/ray.h
setup.o: /libray/libcommon/transform.h
setup.o: /libray/libcommon/vector.h
setup.o: /libray/liblight/infinite.h
setup.o: /libray/liblight/light.h
setup.o: /libray/libobj/bounds.h
setup.o: /libray/libobj/geom.h
setup.o: /libray/libobj/list.h
setup.o: /libray/libsurf/atmosphere.h
setup.o: /libray/libsurf/surface.h
setup.o: defaults.h
setup.o: funcdefs.h
setup.o: options.h
setup.o: picture.h
setup.o: rayshade.h
setup.o: stats.h
setup.o: viewing.h
viewing.o: viewing.c
viewing.o: /config.h
viewing.o: /include/rle.h
viewing.o: /include/rle_code.h
viewing.o: /include/rle_raw.h
viewing.o: /libray/libcommon/color.h
viewing.o: /libray/libcommon/common.h
viewing.o: /libray/libcommon/error.h
viewing.o: /libray/libcommon/expr.h
viewing.o: /libray/libcommon/ray.h
viewing.o: /libray/libcommon/sampling.h
viewing.o: /libray/libcommon/transform.h
viewing.o: /libray/libcommon/vector.h
viewing.o: /libray/libobj/bounds.h
viewing.o: /libray/libobj/geom.h
viewing.o: defaults.h
viewing.o: funcdefs.h
viewing.o: options.h
viewing.o: picture.h
viewing.o: rayshade.h
viewing.o: stats.h
viewing.o: viewing.h
shade.o: shade.c
shade.o: /config.h
shade.o: /libray/libcommon/color.h
shade.o: /libray/libcommon/common.h
shade.o: /libray/libcommon/error.h
shade.o: /libray/libcommon/expr.h
shade.o: /libray/libcommon/ray.h
shade.o: /libray/libcommon/transform.h
shade.o: /libray/libcommon/vector.h
shade.o: /libray/liblight/light.h
shade.o: /libray/libobj/bounds.h
shade.o: /libray/libobj/geom.h
shade.o: /libray/libsurf/atmosphere.h
shade.o: /libray/libsurf/surface.h
shade.o: /libray/libtext/mapping.h
shade.o: /libray/libtext/texture.h
shade.o: funcdefs.h
shade.o: options.h
shade.o: rayshade.h
shade.o: stats.h
picture.o: picture.c
picture.o: /config.h
picture.o: /include/rle.h
picture.o: /include/rle_code.h
picture.o: /include/rle_raw.h
picture.o: /libray/libcommon/color.h
picture.o: /libray/libcommon/common.h
picture.o: /libray/libcommon/error.h
picture.o: /libray/libcommon/expr.h
picture.o: /libray/libcommon/ray.h
picture.o: /libray/libcommon/transform.h
picture.o: /libray/libcommon/vector.h
picture.o: /libray/libobj/bounds.h
picture.o: /libray/libobj/geom.h
picture.o: funcdefs.h
picture.o: options.h
picture.o: picture.h
picture.o: rayshade.h
picture.o: stats.h
picture.o: viewing.h
lex.o: lex.l
lex.o: //ray/config.h
lex.o: rayshade.h
lex.o: /libray/libobj/geom.h
lex.o: /libray/libcommon/common.h
lex.o: /libray/libcommon/expr.h
lex.o: /libray/libcommon/vector.h
lex.o: /libray/libcommon/ray.h
lex.o: /libray/libcommon/color.h
lex.o: /libray/libcommon/transform.h
lex.o: /libray/libcommon/error.h
lex.o: /libray/libobj/bounds.h
lex.o: funcdefs.h
lex.o: /libray/liblight/light.h
lex.o: /libray/libsurf/atmosphere.h
lex.o: /libray/libsurf/surface.h
lex.o: /libray/libtext/texture.h
lex.o: /libray/libtext/mapping.h
lex.o: symtab.h
	$(LEX) lex.l
	copy lex.yy.c lex.c
	delete lex.yy.c
	$(CC) $(CFLAGS) lex.c
yacc.o: yacc.y
yacc.o: rayshade.h
yacc.o: /libray/libobj/geom.h
yacc.o: /libray/libcommon/common.h
yacc.o: //ray/config.h
yacc.o: /libray/libcommon/expr.h
yacc.o: /libray/libcommon/vector.h
yacc.o: /libray/libcommon/ray.h
yacc.o: /libray/libcommon/color.h
yacc.o: /libray/libcommon/transform.h
yacc.o: /libray/libcommon/error.h
yacc.o: /libray/libobj/bounds.h
yacc.o: funcdefs.h
yacc.o: symtab.h
yacc.o: builtin.h
yacc.o: /libray/libsurf/atmosphere.h
yacc.o: /libray/libsurf/surface.h
yacc.o: /libray/libtext/texture.h
yacc.o: /libray/libtext/mapping.h
yacc.o: /libray/libimage/image.h
yacc.o: /libray/liblight/light.h
yacc.o: options.h
yacc.o: stats.h
yacc.o: viewing.h
yacc.o: /libray/libobj/blob.h
yacc.o: /libray/libobj/box.h
yacc.o: /libray/libobj/cone.h
yacc.o: /libray/libobj/csg.h
yacc.o: /libray/libobj/cylinder.h
yacc.o: /libray/libobj/disc.h
yacc.o: /libray/libobj/grid.h
yacc.o: /libray/libobj/hf.h
yacc.o: /libray/libobj/instance.h
yacc.o: /libray/libobj/list.h
yacc.o: /libray/libobj/plane.h
yacc.o: /libray/libobj/poly.h
yacc.o: /libray/libobj/sphere.h
yacc.o: /libray/libobj/torus.h
yacc.o: /libray/libobj/triangle.h
yacc.o: /libray/libobj/rotspline.h
yacc.o: /libray/liblight/point.h
yacc.o: /libray/liblight/infinite.h
yacc.o: /libray/liblight/spot.h
yacc.o: /libray/liblight/jittered.h
yacc.o: /libray/liblight/extended.h
yacc.o: /libray/liblight/projector.h
yacc.o: /libray/libtext/imagetext.h
yacc.o: /libray/libtext/blotch.h
yacc.o: /libray/libtext/bump.h
yacc.o: /libray/libtext/checker.h
yacc.o: /libray/libtext/cloud.h
yacc.o: /libray/libtext/fbm.h
yacc.o: /libray/libtext/fbmbump.h
yacc.o: /libray/libtext/gloss.h
yacc.o: /libray/libtext/marble.h
yacc.o: /libray/libtext/mount.h
yacc.o: /libray/libtext/sky.h
yacc.o: /libray/libtext/stripe.h
yacc.o: /libray/libtext/windy.h
yacc.o: /libray/libtext/wood.h
yacc.o: /libray/libsurf/fog.h
yacc.o: /libray/libsurf/fogdeck.h
yacc.o: /libray/libsurf/mist.h
yacc.o: /libray/libcommon/rotate.h
yacc.o: /libray/libcommon/scale.h
yacc.o: /libray/libcommon/translate.h
yacc.o: /libray/libcommon/xform.h
	$(YACC) $(YFLAGS) yacc.y
	copy y.tab.c yacc.c
	delete y.tab.c
	$(CC) $(CFLAGS) yacc.c
builtin.o: builtin.c
builtin.o: /config.h
builtin.o: /libray/libcommon/color.h
builtin.o: /libray/libcommon/common.h
builtin.o: /libray/libcommon/error.h
builtin.o: /libray/libcommon/expr.h
builtin.o: /libray/libcommon/ray.h
builtin.o: /libray/libcommon/transform.h
builtin.o: /libray/libcommon/vector.h
builtin.o: /libray/libobj/bounds.h
builtin.o: /libray/libobj/geom.h
builtin.o: funcdefs.h
builtin.o: rayshade.h
symtab.o: symtab.c
symtab.o: /config.h
symtab.o: /libray/libcommon/color.h
symtab.o: /libray/libcommon/common.h
symtab.o: /libray/libcommon/error.h
symtab.o: /libray/libcommon/expr.h
symtab.o: /libray/libcommon/ray.h
symtab.o: /libray/libcommon/transform.h
symtab.o: /libray/libcommon/vector.h
symtab.o: /libray/libobj/bounds.h
symtab.o: /libray/libobj/geom.h
symtab.o: builtin.h
symtab.o: funcdefs.h
symtab.o: rayshade.h
symtab.o: symtab.h
misc.o: misc.c
misc.o: /config.h
misc.o: /libray/libcommon/color.h
misc.o: /libray/libcommon/common.h
misc.o: /libray/libcommon/error.h
misc.o: /libray/libcommon/expr.h
misc.o: /libray/libcommon/ray.h
misc.o: /libray/libcommon/transform.h
misc.o: /libray/libcommon/vector.h
misc.o: /libray/libobj/bounds.h
misc.o: /libray/libobj/geom.h
misc.o: funcdefs.h
misc.o: options.h
misc.o: rayshade.h
misc.o: stats.h
lightdef.o: lightdef.c
lightdef.o: /config.h
lightdef.o: /libray/libcommon/color.h
lightdef.o: /libray/libcommon/common.h
lightdef.o: /libray/libcommon/error.h
lightdef.o: /libray/libcommon/expr.h
lightdef.o: /libray/libcommon/ray.h
lightdef.o: /libray/libcommon/transform.h
lightdef.o: /libray/libcommon/vector.h
lightdef.o: /libray/liblight/infinite.h
lightdef.o: /libray/liblight/jittered.h
lightdef.o: /libray/liblight/light.h
lightdef.o: /libray/libobj/bounds.h
lightdef.o: /libray/libobj/geom.h
lightdef.o: funcdefs.h
lightdef.o: options.h
lightdef.o: rayshade.h
objdef.o: objdef.c
objdef.o: /config.h
objdef.o: /libray/libcommon/color.h
objdef.o: /libray/libcommon/common.h
objdef.o: /libray/libcommon/error.h
objdef.o: /libray/libcommon/expr.h
objdef.o: /libray/libcommon/ray.h
objdef.o: /libray/libcommon/transform.h
objdef.o: /libray/libcommon/vector.h
objdef.o: /libray/libobj/bounds.h
objdef.o: /libray/libobj/geom.h
objdef.o: funcdefs.h
objdef.o: options.h
objdef.o: rayshade.h
objdef.o: stats.h
options.o: options.c
options.o: /config.h
options.o: /libray/libcommon/color.h
options.o: /libray/libcommon/common.h
options.o: /libray/libcommon/error.h
options.o: /libray/libcommon/expr.h
options.o: /libray/libcommon/ray.h
options.o: /libray/libcommon/transform.h
options.o: /libray/libcommon/vector.h
options.o: /libray/libobj/bounds.h
options.o: /libray/libobj/geom.h
options.o: funcdefs.h
options.o: options.h
options.o: rayshade.h
options.o: stats.h
options.o: viewing.h
stats.o: stats.c
stats.o: /config.h
stats.o: /libray/libcommon/color.h
stats.o: /libray/libcommon/common.h
stats.o: /libray/libcommon/error.h
stats.o: /libray/libcommon/expr.h
stats.o: /libray/libcommon/ray.h
stats.o: /libray/libcommon/transform.h
stats.o: /libray/libcommon/vector.h
stats.o: /libray/libobj/bounds.h
stats.o: /libray/libobj/geom.h
stats.o: funcdefs.h
stats.o: options.h
stats.o: rayshade.h
stats.o: stats.h
surfdef.o: surfdef.c
surfdef.o: /config.h
surfdef.o: /libray/libcommon/color.h
surfdef.o: /libray/libcommon/common.h
surfdef.o: /libray/libcommon/error.h
surfdef.o: /libray/libcommon/expr.h
surfdef.o: /libray/libcommon/ray.h
surfdef.o: /libray/libcommon/transform.h
surfdef.o: /libray/libcommon/vector.h
surfdef.o: /libray/libobj/bounds.h
surfdef.o: /libray/libobj/geom.h
surfdef.o: /libray/libsurf/surface.h
surfdef.o: funcdefs.h
surfdef.o: rayshade.h
