BINDIR =


BINDIR=
CAMLC = $(BINDIR)ocamlc
CAMLOPT = $(BINDIR)ocamlopt
CAMLDEP = $(BINDIR)ocamldep
GCC = gcc


INCLUDEDIRS =
DEPFLAGS = $(INCLUDEDIRS)
COMPFLAG = $(INCLUDEDIRS)
CCCOMPFLAGS = -I/usr/local/lib/ocaml/caml/ -Wall
LINKFLAG = -cclib -L/usr/X11R6/lib/ -cclib -lunix \
	-cclib -lgraphics -cclib -lX11 -cclib -lunix

OBJS = qheader.cmo io.cmo printbspfile.cmo matrix.cmo math.cmo camera.cmo \
	frustum.cmo global.cmo readbspfile.cmo clip3d.cmo clip2d.cmo \
	render.cmo collision.cmo main.cmo
SRC = qheader.ml io.ml printbspfile.ml matrix.ml math.ml camera.ml \
	frustum.ml global.ml readbspfile.ml clip3d.ml clip2d.ml \
	render.ml collision.ml main.ml
MLI = floatio.mli math.mli camera.mli \
	frustum.mli global.mli clip3d.mli clip2d.mli
C = floatio.c
COBJS = floatio.o
EXECNAME = oq



all: $(OBJS) $(COBJS)
	$(CAMLC) -custom graphics.cma unix.cma $(LINKFLAG) $(OBJS) $(COBJS) \
	-o $(EXECNAME)

opt: $(OBJS:.cmo=.cmx) $(COBJS)
	$(CAMLOPT) graphics.cmxa unix.cmxa $(LINKFLAG) $(OBJS:.cmo=.cmx) \
	$(COBJS) -o $(EXECNAME)


.SUFFIXES: .ml .mli .cmo .cmi .cmx
.SUFFIXES: .c .o

.ml.cmo:
	$(CAMLC) $(COMPFLAG) -c $<

.ml.cmx:
	$(CAMLOPT) $(COMPFLAG) -c $<

.mli.cmi:
	$(CAMLC) $(COMPFLAG) -c $<

.c.o:
	$(GCC) $(CCCOMPFLAGS) -c $<


# Clean up
clean:
	rm -f *.cmo *.cmi *.cmx *~ *.o $(EXECNAME)

# Dependencies
depend: $(SRC) $(MLI)
	$(CAMLDEP) $(DEPFLAGS) *.ml{,i} > .depend

include .depend
# DO NOT DELETE
