OCAMLC=/usr/bin/ocamlc
OCAMLOPT=/usr/bin/ocamlopt
OCAMLDEP=/usr/bin/ocamldep
OCAMLYACC=/usr/bin/ocamlyacc
INCLUDES= /usr/lib                 
OCAMLFLAGS=str.cma unix.cma -pp '/usr/bin/camlp4o pa_ocamllex.cma'   

# prog1 should be compiled to bytecode, and is composed of three
# units: mod1, mod2 and mod3.

# The list of object files for prog1
MAIN_OBJS=parser.cmo grid.cmo util.cmo helpers.cmo commands.cmo strategy.cmo main.cmo 

main: $(MAIN_OBJS)
	$(OCAMLC) -o runme $(OCAMLFLAGS) $(MAIN_OBJS)

# Common rules
.SUFFIXES: .ml .mli .cmo .cmi .cma .mly 

.mli.cmi:
	 $(OCAMLC) $(OCAMLFLAGS) -c $<

.ml.cmo:
	$(OCAMLC) $(OCAMLFLAGS) -c $<

.mly.ml:
	$(OCAMLYACC) -v $<

.mly.mli:
	$(OCAMLYACC) -v $<

GENERATED = parser.ml parser.mli


# Clean up
clean:
	 rm -f runme
	 rm -f *.cm[io]
	rm -f $(GENERATED)

# Dependencies
depend:  $(GENERATED)
	$(OCAMLDEP) $(INCLUDES) $(OCAMLFLAGS) *.mli *.ml > .depend

include .depend








