OBJS = scanner.cmo parser.cmo ast.cmo translate.cmo Cb.cmo 
#interpret_prod.cmo Cb.cmo

cb : $(OBJS)
	ocamlc -o Cb $(OBJS)

scanner.ml: scanner.mll
	ocamllex scanner.mll

parser.ml parser.mli: parser.mly
	ocamlyacc parser.mly

%.cmo: %.ml
	ocamlc -c $<

%.cmi: %.mli
	ocamlc -c $<

cb.tar.gz: $(TARFILES)
	cd .. && tar czf cb/cb.tar.gz $(TARFILES:%=cb/%)

.PHONY: clean
clean:
	rm -f *~ cb parser.ml parser.mli scanner.ml testall.log \
	*.cmo *.cmi *.out *.diff *.csv *.mid *.class Cb.java *.java

.PHONY: all
all: clean cb

# Generated by ocamldep *.ml *.mli
ast.cmo:
ast.cmx:
#interpret_prod.cmo: ast.cmo
#interpret_prod.cmx: ast.cmx
translate.cmo: ast.cmo
translate.cmx: ast.cmx
Cb.cmo: scanner.cmo parser.cmi translate.cmo \
    ast.cmo
Cb.cmx: scanner.cmx parser.cmx translate.cmx  \
    ast.cmx
parser.cmo: ast.cmo parser.cmi
parser.cmx: ast.cmx parser.cmi
scanner.cmo: parser.cmi
scanner.cmx: parser.cmx
parser.cmi: ast.cmo
