# SCCSid "@(#)Rmakefile 2.5 4/14/94 LBL"

#
#  Compiles for octree conversion program
#
#     The compile define "STRICT" enforces strict intersection calculations
#  so that no cube which does not intersect an object contains that object.
#  Otherwise, a somewhat faster more lax approach is taken by certain routines.
#

OPT = -O
MACH = -DBSD
CFLAGS = -DSTRICT $(OPT) $(MACH) -I../common -L../lib
CC = cc
MLIB = -lm

LIBDIR = /usr/local/lib/ray

INSTDIR = /usr/local/bin

all:	oconv getbbox

oconv:	oconv.o sphere.o writeoct.o o_face.o plocate.o \
clip.o o_cone.o o_instance.o bbox.o initotypes.o readfargs.o malloc.o
	$(CC) $(CFLAGS) -o oconv oconv.o writeoct.o sphere.o o_face.o \
plocate.o clip.o o_cone.o o_instance.o bbox.o readfargs.o \
initotypes.o malloc.o -lrt $(MLIB)

getbbox:	getbbox.o readobj2.o bbox.o init2otypes.o
	$(CC) $(CFLAGS) -o getbbox getbbox.o readobj2.o \
bbox.o init2otypes.o -lrt $(MLIB)

install:	oconv getbbox
	cp oconv getbbox $(INSTDIR)

clean:
	set nonomatch; rm -f oconv getbbox *.o core

readfargs.o:	readfargs.c ../common/object.h
	$(CC) $(CFLAGS) -DMEMHOG -c readfargs.c

bbox.o initotypes.o o_cone.o o_face.o \
o_instance.o oconv.o sphere.o \
writeoct.o:	../common/standard.h ../common/mat4.h ../common/fvect.h

initotypes.o o_cone.o o_face.o oconv.o \
sphere.o writeoct.o:	../common/octree.h

bbox.o o_cone.o o_face.o o_instance.o oconv.o \
sphere.o writeoct.o:	../common/object.h

bbox.o initotypes.o oconv.o \
sphere.o writeoct.o:	../common/otypes.h

oconv.o:	../common/paths.h

bbox.o o_cone.o:	../common/cone.h

bbox.o o_face.o:	../common/face.h

bbox.o o_instance.o:	../common/instance.h ../common/octree.h

clip.o o_face.o plocate.o:	plocate.h

clip.o plocate.o:	../common/fvect.h

initotypes.o init2otypes.o:	../common/otypes.h
